
int wait_for(pid_t pid)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  uint pid_00;
  int iVar5;
  sigset_t *psVar6;
  code *pcVar7;
  code *pcVar8;
  int iVar9;
  undefined *puVar10;
  uint uVar11;
  char cVar16;
  PROCESS *pPVar12;
  undefined1 *puVar13;
  int *piVar14;
  char *pcVar15;
  int iVar17;
  int *piVar18;
  int iVar19;
  uint status;
  int *piVar20;
  undefined1 *block;
  undefined4 *puVar21;
  int iVar22;
  int *in_a3;
  int *piVar23;
  int iVar24;
  undefined *puVar25;
  int *piVar26;
  pid_t pVar27;
  undefined1 *puVar28;
  undefined4 uVar29;
  sigset_t *psVar30;
  sigset_t *psVar31;
  sigset_t *psVar32;
  int *piVar33;
  undefined *puVar34;
  undefined *puVar35;
  sigset_t *psVar36;
  int iVar37;
  undefined4 *puVar38;
  int *unaff_s6;
  int *piVar39;
  int *piVar40;
  undefined *puVar41;
  int unaff_s8;
  int *piVar42;
  char *pcStack_7f4;
  undefined1 auStack_7ec [128];
  undefined1 auStack_76c [128];
  int iStack_6ec;
  undefined1 *puStack_6e8;
  undefined1 *puStack_6e4;
  int iStack_6e0;
  int *piStack_6dc;
  int *piStack_6d8;
  undefined4 *puStack_6d4;
  int *piStack_6d0;
  int iStack_6cc;
  int *piStack_6c8;
  code *pcStack_6c4;
  code *pcStack_6b0;
  code *pcStack_6a4;
  undefined1 auStack_69c [128];
  undefined1 auStack_61c [128];
  int *piStack_59c;
  undefined1 *puStack_598;
  undefined1 *puStack_594;
  int iStack_590;
  undefined4 uStack_58c;
  int *piStack_588;
  int iStack_584;
  int *piStack_580;
  int *piStack_57c;
  int *piStack_578;
  code *pcStack_574;
  code *pcStack_560;
  code *pcStack_554;
  int iStack_550;
  int iStack_54c;
  int *piStack_548;
  code *pcStack_544;
  undefined1 auStack_53c [128];
  undefined1 auStack_4bc [128];
  int iStack_43c;
  int *piStack_438;
  int iStack_434;
  undefined1 *puStack_430;
  int iStack_42c;
  undefined1 *puStack_428;
  int iStack_424;
  int *piStack_420;
  int *piStack_41c;
  int *piStack_418;
  code *pcStack_414;
  code *pcStack_400;
  code *pcStack_3f4;
  int *piStack_3f0;
  code *pcStack_3ec;
  undefined1 auStack_3e4 [128];
  undefined1 auStack_364 [128];
  int iStack_2e4;
  undefined1 *puStack_2e0;
  undefined1 *puStack_2dc;
  uint uStack_2d8;
  int iStack_2d4;
  sigset_t *psStack_2d0;
  int iStack_2cc;
  int *piStack_2c8;
  int *piStack_2c4;
  int *piStack_2c0;
  code *pcStack_2bc;
  undefined *puStack_2a8;
  undefined1 auStack_29c [128];
  undefined1 auStack_21c [128];
  int iStack_19c;
  undefined *puStack_198;
  sigset_t *psStack_194;
  sigset_t *psStack_190;
  int *piStack_18c;
  undefined *puStack_188;
  undefined *puStack_184;
  int *piStack_180;
  undefined *puStack_17c;
  int iStack_178;
  code *pcStack_174;
  int local_144;
  sigset_t set;
  sigset_t oset;
  
  puVar4 = PTR___stack_chk_guard_001464dc;
  puVar41 = PTR___environ_00145154;
  piVar39 = (int *)PTR_job_control_001448a8;
  psVar36 = &oset;
  psVar30 = &set;
  pid_00 = *(uint *)PTR___stack_chk_guard_001464dc;
  (*(code *)PTR_sigemptyset_001462d4)(psVar30);
  (*(code *)PTR_sigaddset_00146364)(psVar30,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(psVar36);
  (*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36);
  iVar5 = *piVar39;
  *(undefined4 *)(puVar41 + -0x70d8) = 0;
  *(undefined4 *)(puVar41 + -0x70d4) = 0;
  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {
    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);
    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);
    unaff_s6 = (int *)PTR___environ_00145154;
    if (psVar6 == psVar30) {
      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);
      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
    }
    else {
      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;
      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;
    }
    if (psVar6 == (sigset_t *)0x1) {
      (*(code *)PTR_set_signal_handler_00144848)(2,1);
    }
    piVar20 = (int *)PTR_terminating_signal_00144834;
    local_144 = *(int *)PTR_last_command_exit_value_001445e0;
    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {
      if (*(int *)PTR_terminating_signal_00144834 != 0) {
        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);
      }
      if (*(int *)PTR_interrupt_state_0014483c != 0) {
        (*(code *)PTR_throw_to_top_level_00144840)();
      }
    }
    iVar5 = *piVar20;
  }
  else {
    local_144 = *(int *)PTR_last_command_exit_value_001445e0;
    iVar5 = *(int *)PTR_terminating_signal_00144834;
    piVar20 = (int *)PTR_terminating_signal_00144834;
  }
  if (iVar5 != 0) {
    (*(code *)PTR_termsig_handler_00144838)(*piVar20);
  }
  puVar3 = PTR_wait_intr_flag_00145168;
  puVar34 = PTR___environ_00145154;
  puVar2 = PTR_wait_builtin_00145150;
  puVar1 = PTR_this_shell_builtin_00144a84;
  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||
       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||
      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||
     (psVar6 = psVar36, puVar35 = puVar41,
     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {
    unaff_s8 = 0;
    psVar6 = (sigset_t *)0xffffffff;
    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);
    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);
    do {
      do {
        psVar30 = (sigset_t *)0xffffffff;
        iVar5 = *(int *)(puVar34 + -0x70dc);
        puVar35 = puVar34;
        if (pid == -1) goto LAB_0006a0c8;
        unaff_s8 = (*pcVar8)(pid,0,0);
        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;
        psVar31 = (sigset_t *)PTR_data_start_00144568;
        if (unaff_s8 == 0) {
          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);
          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);
          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);
          internal_error(pcVar15,pid);
          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);
          if (psVar36 == psVar32) {
            local_144 = 0x7f;
          }
          else {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            local_144 = 0x7f;
            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a040;
        }
        iVar19 = *(int *)(unaff_s8 + 0xc);
        if (psVar6 == psVar30) {
          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {
            psVar30 = (sigset_t *)0x0;
            in_a3 = *(int **)PTR_jobs_00144e5c;
            do {
              iVar9 = *in_a3;
              if (iVar9 != 0) {
                piVar42 = *(int **)(iVar9 + 4);
                do {
                  if (pid == piVar42[1]) {
                    if (iVar19 == 1) goto LAB_0006a0c0;
                    goto LAB_00069c50;
                  }
                  piVar42 = (int *)*piVar42;
                } while (*(int **)(iVar9 + 4) != piVar42);
              }
              psVar30 = (sigset_t *)((int)psVar30->__val + 1);
              in_a3 = in_a3 + 1;
            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);
          }
          iVar5 = *(int *)(puVar34 + -0x70dc);
          if (iVar19 == 1) goto LAB_0006a0c8;
        }
        else {
          psVar30 = psVar6;
          if (iVar19 == 1) {
LAB_0006a0c0:
            iVar5 = *(int *)(puVar34 + -0x70dc);
            psVar6 = psVar30;
          }
          else {
            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);
LAB_00069c50:
            iVar5 = *(int *)(puVar34 + -0x70dc);
            psVar6 = psVar30;
            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;
          }
LAB_0006a0c8:
          *(undefined4 *)(puVar34 + -0x7040) = 1;
          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;
          iVar5 = (*pcVar7)(1);
          *(undefined4 *)(puVar34 + -0x7040) = 0;
          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;
          unaff_s6 = (int *)puVar34;
          if ((iVar5 == -1) &&
             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),
             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,
             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {
            if (*(undefined **)puVar1 == puVar2) {
              psVar31 = (sigset_t *)puVar34;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_wait_for_background_pids_00145158) {
                local_144 = -1;
              }
              else {
                (*(code *)PTR_set_signal_handler_00144848)(2);
                local_144 = -1;
                *(sigset_t **)(puVar25 + 0x460) = psVar32;
                *(undefined4 *)(puVar34 + -0x70dc) = 0;
              }
              goto LAB_0006a02c;
            }
            if (unaff_s8 != 0) {
              *(undefined4 *)(unaff_s8 + 0xc) = 0;
              *(undefined4 *)(unaff_s8 + 8) = 0;
            }
            *(undefined4 *)(puVar10 + 4) = 0;
            if (psVar6 != (sigset_t *)0xffffffff) {
              iVar5 = *(int *)(puVar10 + 0x28);
              in_a3 = *(int **)PTR_jobs_00144e5c;
              iVar19 = in_a3[(int)psVar6];
              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;
              *(undefined4 *)(iVar19 + 0xc) = 4;
              *(int *)(puVar10 + 0x28) = iVar5 + 1;
            }
            if (pid == -1) {
              puVar25 = PTR_data_start_00144568;
              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;
              piVar42 = (int *)puVar34;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;
              goto LAB_00069d30;
            }
          }
        }
LAB_00069c60:
        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {
          if (*piVar20 != 0) {
            (*(code *)PTR_termsig_handler_00144838)(*piVar20);
          }
          if (*(int *)PTR_interrupt_state_0014483c != 0) {
            (*(code *)PTR_throw_to_top_level_00144840)();
          }
        }
        if (*piVar20 != 0) {
          (*(code *)PTR_termsig_handler_00144838)(*piVar20);
        }
        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;
        puVar25 = PTR_data_start_00144568;
        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&
            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&
           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;
        if (pid == -1) {
          psVar32 = psVar6;
          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
              PTR_wait_for_background_pids_00145158) {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            *(sigset_t **)(puVar25 + 0x460) = psVar31;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a02c;
        }
      } while (*(int *)(unaff_s8 + 0xc) == 1);
      if (psVar6 == (sigset_t *)0xffffffff) {
        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
            PTR_wait_for_background_pids_00145158) {
          (*(code *)PTR_set_signal_handler_00144848)(2);
          *(sigset_t **)(puVar25 + 0x460) = psVar31;
          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
        }
        goto LAB_0006a2e0;
      }
      unaff_s6 = (int *)((int)psVar6 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar19 = *(int *)(iVar5 + 0xc);
      in_a3 = (int *)PTR_jobs_00144e5c;
    } while (iVar19 == 1);
    piVar42 = (int *)PTR___environ_00145154;
    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {
LAB_00069d68:
      in_a3 = (int *)PTR_jobs_00144e5c;
      local_144 = job_exit_status((int)psVar6);
      uVar11 = raw_job_exit_status((int)psVar6);
      uVar11 = uVar11 & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        uVar11 = 0;
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      puVar1 = PTR_subshell_environment_00144674;
      if (iVar19 == 2) {
        uVar11 = *(uint *)(unaff_s8 + 8);
LAB_0006a460:
        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;
LAB_00069ddc:
        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);
      }
      else if (unaff_s8 != 0) {
        uVar11 = *(uint *)(unaff_s8 + 8);
        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;
        goto LAB_00069ddc;
      }
      uVar11 = *(uint *)PTR_subshell_environment_00144674;
      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))
      {
        if ((uVar11 & 0x11) == 0) {
          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);
          uVar11 = *(uint *)puVar1;
        }
        else {
          uVar11 = *(uint *)PTR_subshell_environment_00144674;
        }
      }
      piVar20 = (int *)PTR_interactive_shell_00144598;
      if (*(int *)PTR_interactive_shell_00144598 != 0) {
        if (uVar11 == 0) {
          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);
          piVar42 = *(int **)(iVar5 + 4);
          do {
            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);
            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);
            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {
              set_tty_state();
              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;
              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&
                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))
              goto LAB_00069ef0;
              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
              goto LAB_00069ee4;
            }
            piVar42 = (int *)*piVar42;
          } while (*(int **)(iVar5 + 4) != piVar42);
          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {
            get_tty_state();
LAB_00069ee4:
            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);
          }
LAB_00069ef0:
          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||
             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;
          iVar5 = signal_is_trapped(2);
          pid = (pid_t)puVar25;
          if ((((iVar5 == 0) &&
               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0
                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&
                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||
              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&
               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)
               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&
                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,
                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;
          puVar25 = PTR_stdout_001462f8;
          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);
          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);
        }
        else if ((uVar11 & 0x14) != 0) {
          iVar5 = *(int *)(puVar41 + -0x70d4);
          goto LAB_0006a3ac;
        }
LAB_00069ffc:
        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);
        iVar5 = *unaff_s6;
LAB_0006a008:
        iVar19 = *(int *)(iVar5 + 0xc);
        pid = (pid_t)puVar25;
        goto LAB_0006a00c;
      }
      if ((uVar11 & 0x14) != 0) {
        iVar5 = *(int *)(puVar41 + -0x70d4);
LAB_0006a3ac:
        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&
           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {
          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);
          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);
          *(int *)(puVar25 + 0x460) = iVar5;
          if (iVar5 == 1) {
            if (psVar31 != (sigset_t *)0x1) {
              (*(code *)PTR_set_signal_handler_00144848)(2,1);
              *(sigset_t **)(puVar25 + 0x460) = psVar31;
              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);
              iVar5 = *unaff_s6;
              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
              goto LAB_0006a008;
            }
          }
          else {
            uVar29 = (*(code *)PTR_getpid_0014640c)();
            (*(code *)PTR_kill_001463b8)(uVar29,2);
          }
        }
        goto LAB_00069ffc;
      }
      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);
      if (uVar11 != 0) goto LAB_0006a008;
      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {
        piVar42 = *(int **)(iVar5 + 4);
        do {
          uVar11 = piVar42[2] & 0x7f;
          cVar16 = (char)((char)uVar11 + '\x01') >> 1;
          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;
          piVar42 = (int *)*piVar42;
        } while (*(int **)(iVar5 + 4) != piVar42);
        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&
           (('\0' < cVar16 && (uVar11 == 2)))) {
          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;
        }
        if (*(int *)PTR_check_window_size_00144af0 != 0) {
          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
          goto LAB_00069ffc;
        }
        pid = (pid_t)puVar25;
        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;
        goto LAB_0006a528;
      }
      goto LAB_0006a01c;
    }
LAB_00069d30:
    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;
    puVar25 = PTR_data_start_00144568;
    (*(code *)PTR_set_signal_handler_00144848)(2);
    *(sigset_t **)(puVar25 + 0x460) = psVar31;
    piVar42[-0x1c37] = 0;
    unaff_s6 = piVar42;
LAB_00069d48:
    if (psVar6 != (sigset_t *)0xffffffff) {
      unaff_s6 = (int *)((int)psVar6 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar19 = *(int *)(iVar5 + 0xc);
      goto LAB_00069d68;
    }
    if (unaff_s8 == 0) {
      local_144 = 0;
      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;
    }
    else {
LAB_0006a2e0:
      status = *(uint *)(unaff_s8 + 8);
      uVar11 = status & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        local_144 = process_exit_status(status);
        uVar11 = 0;
      }
      else {
        local_144 = uVar11 + 0x80;
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      if ((status & 0xff) == 0x7f) {
        local_144 = ((status << 0x10) >> 0x18) + 0x80;
      }
    }
    psVar32 = psVar6;
    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&
        *(int *)PTR_running_in_background_001446f0 == 0) {
      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);
    }
  }
  else {
LAB_0006a708:
    psVar31 = psVar30;
    piVar42 = (int *)0x1;
    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);
LAB_0006a714:
    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);
    iVar5 = *unaff_s6;
    *piVar42 = *piVar42 + 1;
    iVar19 = *(int *)(iVar5 + 0xc);
LAB_0006a00c:
    puVar25 = (undefined *)pid;
    puVar34 = puVar35;
    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {
LAB_0006a528:
      setjstatus((int)psVar6);
      puVar25 = (undefined *)pid;
      puVar34 = puVar35;
    }
LAB_0006a01c:
    notify_and_cleanup();
    psVar32 = psVar6;
  }
LAB_0006a02c:
  (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);
  pid = (pid_t)puVar25;
LAB_0006a040:
  if (pid_00 == *(uint *)puVar4) {
    return local_144;
  }
  pcVar7 = wait_for_single_pid;
  puVar41 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_2a8 = puVar41 + 0xe1e00;
  piVar42 = *(int **)(puVar41 + 0xdbd9c);
  puStack_17c = (undefined *)piVar39;
  iStack_19c = *piVar42;
  puStack_198 = (undefined *)pid;
  psStack_194 = psVar31;
  psStack_190 = psVar32;
  piStack_18c = piVar20;
  puStack_188 = puVar34;
  puStack_184 = puVar3;
  piStack_180 = unaff_s6;
  iStack_178 = unaff_s8;
  pcStack_174 = pcVar7;
  (**(code **)(puVar41 + 0xdbb94))(auStack_29c);
  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
  pPVar12 = find_pipeline(pid_00,0,(int *)0x0);
  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
  if (pPVar12 == (PROCESS *)0x0) {
    piVar20 = *(int **)(puStack_2a8 + -0x7408);
    iVar5 = *piVar20;
    iVar19 = 0;
    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {
      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);
      if (iVar9 != -1) {
        piVar20 = (int *)(iVar5 + iVar9 * 0x10);
        if (pid_00 == piVar20[2]) {
LAB_0006aaf8:
          iVar5 = (int)*(short *)(piVar20 + 3);
          if (-1 < iVar5) goto LAB_0006a9b0;
        }
        else {
          iVar17 = *piVar20;
          while (iVar9 != iVar17) {
            if (iVar17 == -1) goto LAB_0006aae8;
            piVar20 = (int *)(iVar5 + iVar17 * 0x10);
            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;
            iVar17 = *piVar20;
          }
          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));
        }
      }
    }
LAB_0006aae8:
    psVar36 = (sigset_t *)((uint)psVar36 & 1);
    if (psVar36 == (sigset_t *)0x0) {
      iVar5 = 0x7f;
    }
    else {
      iVar5 = 0x7f;
      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))
                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);
      internal_error(pcVar15,pid_00);
    }
  }
  else {
    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);
    psVar36 = (sigset_t *)((uint)psVar36 & 2);
    piVar39 = (int *)0x7f;
    iVar5 = wait_for(pid_00);
    while (psVar36 != (sigset_t *)0x0) {
      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {
        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
        break;
      }
      (**(code **)(puStack_2a8 + -0x602c))();
      iVar5 = wait_for(pid_00);
    }
    iVar19 = *(int *)(puStack_2a8 + -0x76e8);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
    if (0 < *(int *)(iVar19 + 0x18)) {
      iVar9 = 0;
      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);
      do {
        iVar17 = *piVar20;
        if (iVar17 != 0) {
          piVar40 = *(int **)(iVar17 + 4);
          uVar11 = piVar40[1];
          piVar26 = piVar40;
          while( true ) {
            if (pid_00 == uVar11) {
              pcVar7 = *(code **)(puStack_2a8 + -0x602c);
              if (*(int *)(iVar17 + 0xc) == 4) {
                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;
              }
              goto LAB_0006a950;
            }
            piVar26 = (int *)*piVar26;
            if (piVar40 == piVar26) break;
            uVar11 = piVar26[1];
          }
        }
        iVar9 = iVar9 + 1;
        piVar20 = piVar20 + 1;
      } while (iVar9 != *(int *)(iVar19 + 0x18));
    }
    pcVar7 = *(code **)(puStack_2a8 + -0x602c);
LAB_0006a950:
    (*pcVar7)(3,auStack_21c,0);
    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {
      if ((*(int *)(iVar19 + 0x18) != 0) &&
         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {
        cleanup_dead_jobs();
      }
      bgp_delete(pid_00);
    }
  }
LAB_0006a9b0:
  if (iStack_19c == *piVar42) {
    return iVar5;
  }
  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);
  pcVar8 = wait_for_background_pids;
  (*pcVar7)();
  pcStack_400 = pcVar7 + 0xe19dc;
  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);
  iVar9 = *(int *)(pcVar7 + 0xda48c);
  pcStack_3f4 = (code *)(iVar9 + 0x5a6c);
  iVar17 = *(int *)(pcVar7 + 0xd9a14);
  iStack_2e4 = *piStack_3f0;
  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);
  iVar37 = *(int *)(pcVar7 + 0xda2f4);
  piVar20 = *(int **)(pcVar7 + 0xda2f8);
  puStack_2e0 = auStack_29c;
  puStack_2dc = auStack_21c;
  uStack_2d8 = pid_00;
  iStack_2d4 = iVar19;
  psStack_2d0 = psVar36;
  iStack_2cc = iVar5;
  piStack_2c8 = unaff_s6;
  piStack_2c4 = piVar39;
  piStack_2c0 = piVar42;
  pcStack_2bc = pcVar8;
LAB_0006abe0:
  do {
    pcVar7 = *(code **)(pcStack_400 + -0x626c);
    do {
      piVar26 = (int *)0x0;
      (*pcVar7)(auStack_3e4);
      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);
      (**(code **)(pcStack_400 + -0x626c))(auStack_364);
      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);
      piVar42 = *(int **)(iVar37 + 0x18);
      pcVar7 = pcStack_400;
      if (0 < (int)piVar42) {
        iVar9 = 2;
        do {
          piVar39 = (int *)((int)piVar26 * 4);
          iVar5 = *(int *)(*piVar20 + (int)piVar39);
          if (iVar5 != 0) {
            iVar19 = *(int *)(iVar5 + 0xc);
            if (iVar19 == 2) {
              iVar5 = (*pcStack_3f4)(piVar26);
              (**(code **)(pcStack_400 + -0x7354))
                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));
              piVar39 = (int *)(*piVar20 + (int)piVar39);
              iVar5 = *piVar39;
              pcVar7 = pcStack_400;
              if (iVar5 == 0) goto LAB_0006ac6c;
              iVar19 = *(int *)(iVar5 + 0xc);
            }
            unaff_s6 = (int *)((int)piVar26 + 1);
            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {
              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;
              pcVar7 = *(code **)(pcVar7 + -0x602c);
              goto LAB_0006ad54;
            }
          }
LAB_0006ac6c:
          piVar26 = (int *)((int)piVar26 + 1);
          piVar42 = *(int **)(iVar37 + 0x18);
          unaff_s6 = piVar26;
        } while ((int)piVar26 < (int)piVar42);
      }
      pcVar7 = *(code **)(pcVar7 + -0x602c);
      if (piVar26 == piVar42) {
LAB_0006ad54:
        puVar13 = auStack_364;
        (*pcVar7)(3,auStack_364,0);
        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&
           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {
          wait_for(iVar5);
        }
        wait_procsubs();
        reap_procsubs();
        iVar5 = 1;
        mark_dead_jobs_as_notified(1);
        if ((*(int *)(iVar37 + 0x18) != 0) &&
           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {
          cleanup_dead_jobs();
        }
        bgp_clear();
        if (iStack_2e4 == *piStack_3f0) {
          return *piStack_3f0;
        }
        pcVar7 = *(code **)(pcStack_400 + -0x60b8);
        pcVar8 = wait_for_job;
        (*pcVar7)();
        pcStack_560 = pcVar7 + 0xe1688;
        piStack_548 = *(int **)(pcVar7 + 0xdb624);
        puVar28 = auStack_53c;
        piVar40 = (int *)(iVar5 * 4);
        iStack_43c = *piStack_548;
        piVar42 = *(int **)(pcVar7 + 0xd9fa4);
        piStack_438 = piVar26;
        iStack_434 = iVar9;
        puStack_430 = auStack_364;
        iStack_42c = iVar17 + 0x7d64;
        puStack_428 = auStack_3e4;
        iStack_424 = iVar37;
        piStack_420 = unaff_s6;
        piStack_41c = piVar39;
        piStack_418 = piVar20;
        pcStack_414 = pcVar8;
        (**(code **)(pcVar7 + 0xdb41c))(puVar28);
        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);
        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
        block = puVar28;
        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);
        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {
          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))
                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);
          block = (undefined1 *)(iVar5 + 1);
          internal_warning(pcVar15);
        }
        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);
        piVar39 = (int *)0xffffffff;
        piVar20 = (int *)((uint)puVar13 & 2);
        iStack_54c = *(int *)(pcStack_560 + -0x76e8);
        pPVar12 = find_last_proc(iVar5,(int)block);
        piVar26 = (int *)pPVar12->pid;
        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);
        goto LAB_0006afd8;
      }
LAB_0006ac88:
      iVar5 = (*pcStack_3f4)(piVar26);
      pVar27 = *(pid_t *)(iVar5 + 4);
      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);
      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {
        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));
      }
      if (**(int **)(pcStack_400 + -0x7d04) != 0) {
        (**(code **)(pcStack_400 + -32000))();
      }
      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();
      *unaff_s6 = 0;
      iVar5 = wait_for_single_pid(pVar27,1);
      if (iVar5 != -1) goto LAB_0006abe0;
      pcVar7 = *(code **)(pcStack_400 + -0x626c);
    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));
    (*pcStack_3ec)();
  } while( true );
LAB_0006b3b8:
  puVar13 = (undefined1 *)job_exit_status((int)piVar42);
  if (((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&
     (*(int *)(iVar9 + -0x705c) == 0)) {
    delete_job((int)piVar42,0);
  }
  (**(code **)(pcStack_6b0 + -0x737c))();
  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);
  goto LAB_0006b430;
  while( true ) {
    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);
    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);
    if (iStack_550 == 4) break;
LAB_0006afd8:
    iVar19 = (*pcStack_554)(piVar26);
    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)
        ) && (*(int *)(iStack_54c + 0x18) != 0)) {
      (*pcStack_544)();
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    else {
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    if (piVar20 == (int *)0x0) {
      (*pcVar7)(puVar28);
      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);
      if (iVar5 != -1) goto LAB_0006b0d0;
      pcVar7 = *(code **)(pcStack_560 + -0x602c);
      goto LAB_0006b0f4;
    }
    (*pcVar7)();
    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);
    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);
    if (iVar5 == -1) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      (**(code **)(pcStack_560 + -0x626c))(puVar28);
      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);
      goto LAB_0006b0f0;
    }
    if (*(int *)(*piVar42 + (int)piVar40) == 0) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      break;
    }
  }
  (**(code **)(pcStack_560 + -0x626c))(puVar28);
  (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);
  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
  (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);
LAB_0006b0d0:
  piVar40 = (int *)(*piVar42 + (int)piVar40);
  iVar9 = *piVar40;
  if ((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)) {
    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;
  }
LAB_0006b0f0:
  pcVar7 = *(code **)(pcStack_560 + -0x602c);
LAB_0006b0f4:
  (*pcVar7)(3,auStack_4bc,0);
  if (iStack_43c == *piStack_548) {
    return iVar19;
  }
  pcVar7 = *(code **)(pcStack_560 + -0x60b8);
  pcVar8 = wait_for_any_job;
  (*pcVar7)();
  pcStack_6b0 = pcVar7 + 0xe1290;
  iVar9 = *(int *)(pcVar7 + 0xd9ea4);
  puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c);
  uStack_58c = 0xffffffff;
  piStack_59c = (int *)*puVar38;
  puStack_598 = puVar28;
  puStack_594 = auStack_4bc;
  iStack_590 = iVar19;
  piStack_588 = piVar20;
  iStack_584 = iVar5;
  piStack_580 = piVar26;
  piStack_57c = piVar40;
  piStack_578 = piVar42;
  pcStack_574 = pcVar8;
  if (*(int *)(iVar9 + -0x705c) == 0) {
    puVar13 = auStack_69c;
    iVar19 = *(int *)(pcVar7 + 0xd9ba8);
    puVar28 = auStack_61c;
    (**(code **)(pcVar7 + 0xdb024))(puVar13);
    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);
    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);
    if (0 < (int)*(int **)(iVar19 + 0x18)) {
      piVar42 = (int *)0x0;
      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);
      piVar40 = piVar23;
      do {
        iVar5 = *piVar40;
        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))
        goto LAB_0006b3b8;
        piVar42 = (int *)((int)piVar42 + 1);
        piVar40 = piVar40 + 1;
      } while (piVar42 != *(int **)(iVar19 + 0x18));
    }
    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);
    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);
    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);
    piVar42 = *(int **)(pcStack_6b0 + -0x7550);
    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);
    pcStack_6a4 = (code *)(piVar42 + 0x1398);
    do {
      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);
      iVar5 = *(int *)(iVar19 + 0x18);
      if (iVar5 < 1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
        if (iVar5 == 0) {
LAB_0006b680:
          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);
          puVar13 = (undefined1 *)0xffffffff;
          goto LAB_0006b430;
        }
      }
      else {
        piVar40 = (int *)*piVar20;
        iVar17 = 0;
        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||
               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {
          iVar17 = iVar17 + 1;
          piVar40 = piVar40 + 1;
          if (iVar17 == iVar5) goto LAB_0006b680;
        }
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
      }
      (*pcVar7)(3,puVar28,0);
      if (*piVar39 == 0) {
        pcVar7 = *(code **)(pcStack_6b0 + -32000);
        if (*piVar26 == 0) goto LAB_0006b564;
LAB_0006b6f0:
        (*pcVar7)();
        if (*piVar39 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
          goto LAB_0006b708;
        }
      }
      else {
        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);
        if (*piVar26 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -32000);
          goto LAB_0006b6f0;
        }
LAB_0006b564:
        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
        if (*piVar39 != 0) {
LAB_0006b708:
          (*pcVar7)(*piVar39);
        }
      }
      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {
LAB_0006b5a4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
      }
      else {
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {
          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {
            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);
            pcVar7 = pcStack_6b0;
            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))
            goto LAB_0006b5a4;
            goto LAB_0006b730;
          }
        }
      }
      piVar42 = (int *)(*pcVar7)();
      *piVar42 = 0;
      iVar5 = wait_for(-1);
      if (iVar5 == -1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {
          (*pcStack_6a4)();
          goto LAB_0006b5d4;
        }
      }
      else {
LAB_0006b5d4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
      }
      (*pcVar7)(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);
      if (0 < (int)*(int **)(iVar19 + 0x18)) {
        piVar23 = (int *)*piVar20;
        piVar42 = (int *)0x0;
        piVar40 = piVar23;
        do {
          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;
          piVar42 = (int *)((int)piVar42 + 1);
          piVar40 = piVar40 + 1;
        } while (*(int **)(iVar19 + 0x18) != piVar42);
      }
      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);
    } while( true );
  }
  puVar13 = (undefined1 *)0xffffffff;
LAB_0006b430:
  pcVar7 = pcStack_6b0;
  if (piStack_59c == (int *)*puVar38) {
    return (int)puVar13;
  }
  piVar40 = piStack_59c;
  (**(code **)(pcStack_6b0 + -0x60b8))();
LAB_0006b730:
  pcVar7 = *(code **)(pcVar7 + -0x625c);
  pcVar8 = start_job;
  puVar21 = (undefined4 *)0x1;
  (*pcVar7)();
  piVar23 = *(int **)(pcVar7 + 0xdada0);
  iVar5 = (int)piVar40 * 4;
  iStack_6ec = *piVar23;
  piVar33 = *(int **)(pcVar7 + 0xd9720);
  puStack_6e8 = puVar28;
  puStack_6e4 = puVar13;
  iStack_6e0 = iVar19;
  piStack_6dc = piVar39;
  piStack_6d8 = piVar20;
  puStack_6d4 = puVar38;
  piStack_6d0 = piVar26;
  iStack_6cc = iVar9;
  piStack_6c8 = piVar42;
  pcStack_6c4 = pcVar8;
  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);
  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);
  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);
  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);
  iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc);
  if (iVar19 == 4) {
    iVar5 = -1;
    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);
    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else if (puVar21 == (undefined4 *)0x0) {
    if (iVar19 != 1) {
      pcStack_7f4 = current_working_directory();
      iVar9 = *(int *)(*piVar33 + iVar5);
      iVar17 = **(int **)(pcVar7 + 0xd8e50);
      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;
      if (iVar17 == 0) {
        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {
          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;
        }
        else {
          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;
          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;
        }
      }
      else {
LAB_0006b860:
        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;
      }
      piVar39 = *(int **)(iVar9 + 4);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)
      ;
      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);
      goto LAB_0006b898;
    }
    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);
    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);
LAB_0006b9dc:
    iVar5 = 0;
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else {
    pcStack_7f4 = current_working_directory();
    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =
         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;
    set_current_job((int)piVar40);
    iVar9 = *(int *)(*piVar33 + iVar5);
    piVar20 = *(int **)(iVar9 + 4);
    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;
    piVar39 = piVar20;
LAB_0006b898:
    iVar17 = *(int *)(pcVar7 + 0xd8e3c);
    iVar9 = *(int *)(pcVar7 + 0xd8e70);
    iVar37 = *(int *)(pcVar7 + 0xd8e3c);
    do {
      iVar22 = piVar39[4];
      if (piVar39[4] == 0) {
        iVar22 = iVar9 + -0x6800;
      }
      iVar24 = iVar37 + 0x6720;
      if ((int *)*piVar39 == piVar20) {
        iVar24 = iVar9 + -0x6800;
      }
      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);
      piVar39 = (int *)*piVar39;
      puVar38 = *(undefined4 **)(*piVar33 + iVar5);
      piVar20 = (int *)puVar38[1];
    } while (piVar20 != piVar39);
    if (puVar21 == (undefined4 *)0x0) {
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);
      puVar38 = *(undefined4 **)(*piVar33 + iVar5);
    }
    uVar29 = *puVar38;
    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);
    if (iVar9 != 0) {
      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);
    }
    (**(code **)(pcVar7 + 0xdac04))(10);
    if (iVar19 == 1) {
      if (puVar21 == (undefined4 *)0x0) {
        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =
             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;
        goto LAB_0006b9c8;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      piVar20 = (int *)(iVar9 + -0x70d0);
      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      piVar39 = piVar20;
      piVar42 = piVar26;
      do {
        piVar14 = piVar39 + 4;
        piVar18 = piVar42 + 4;
        iVar22 = piVar39[1];
        iVar37 = piVar39[2];
        iVar17 = piVar39[3];
        *piVar42 = *piVar39;
        piVar42[1] = iVar22;
        piVar42[2] = iVar37;
        piVar42[3] = iVar17;
        piVar39 = piVar14;
        piVar42 = piVar18;
      } while (piVar14 != (int *)(iVar9 + -0x70a0));
      iVar9 = *piVar33;
      iVar17 = *piVar14;
      *piVar18 = iVar17;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;
    }
    else {
      iVar9 = *(int *)(*piVar33 + iVar5);
      piVar20 = *(int **)(iVar9 + 4);
      piVar39 = piVar20;
      do {
        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {
          piVar39[3] = 1;
        }
        piVar39 = (int *)*piVar39;
      } while (piVar20 != piVar39);
      *(undefined4 *)(iVar9 + 0xc) = 1;
      if (puVar21 == (undefined4 *)0x0) {
        pcVar8 = *(code **)(pcVar7 + 0xdad38);
        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;
        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);
LAB_0006b9c8:
        reset_current();
        goto LAB_0006b9dc;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      piVar20 = (int *)(iVar9 + -0x70d0);
      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      piVar39 = piVar20;
      piVar42 = piVar26;
      do {
        piVar14 = piVar39 + 4;
        piVar18 = piVar42 + 4;
        iVar22 = piVar39[1];
        iVar37 = piVar39[2];
        iVar17 = piVar39[3];
        *piVar42 = *piVar39;
        piVar42[1] = iVar22;
        piVar42[2] = iVar37;
        piVar42[3] = iVar17;
        piVar39 = piVar14;
        piVar42 = piVar18;
      } while (piVar14 != (int *)(iVar9 + -0x70a0));
      iVar9 = *piVar33;
      *piVar18 = *piVar14;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {
        iVar19 = *piVar33;
      }
      else {
LAB_0006bce0:
        iVar17 = 0;
        give_terminal_to(*(pid_t *)(iVar9 + 8),0);
        if (iVar19 == 1) goto LAB_0006bbc8;
        iVar19 = *piVar33;
      }
      iVar17 = 0x19;
      pcVar8 = *(code **)(pcVar7 + 0xdad38);
      iVar5 = *(int *)(iVar19 + iVar5);
      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;
      (*pcVar8)(*(undefined4 *)(iVar5 + 8));
    }
LAB_0006bbc8:
    pPVar12 = find_last_proc((int)piVar40,iVar17);
    pVar27 = pPVar12->pid;
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
    iVar5 = wait_for(pVar27);
    piVar39 = piVar26;
    do {
      piVar14 = piVar39 + 4;
      piVar42 = piVar20 + 4;
      iVar17 = piVar39[1];
      iVar9 = piVar39[2];
      iVar19 = piVar39[3];
      *piVar20 = *piVar39;
      piVar20[1] = iVar17;
      piVar20[2] = iVar9;
      piVar20[3] = iVar19;
      piVar20 = piVar42;
      piVar39 = piVar14;
    } while (piVar14 != piVar26 + 0xc);
    *piVar42 = *piVar14;
    set_tty_state();
  }
  if (iStack_6ec == *piVar23) {
    return iVar5;
  }
  pcVar7 = *(code **)(pcVar7 + 0xdad4c);
  iVar5 = iStack_6ec;
  (*pcVar7)();
  piVar39 = *(int **)(pcVar7 + 0xd8b10);
  iVar19 = (**(code **)(pcVar7 + 0xda6dc))();
  *piVar39 = iVar19;
  if (iVar19 == -1) {
    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);
    sys_error(pcVar15);
    (**(code **)(pcVar7 + 0xda620))(1);
LAB_0006c3c8:
    uVar29 = *puVar21;
LAB_0006be24:
    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);
    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);
    *piVar33 = iVar5;
    if (iVar5 != -1) goto LAB_0006bf80;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar39 == 0) goto LAB_0006bf08;
LAB_0006be5c:
    iVar5 = *piVar33;
  }
  else {
    piVar40 = *(int **)(pcVar7 + 0xd87f4);
    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);
    uVar29 = *puVar21;
    if (iVar5 == 0 && *piVar40 == 0) {
      piVar20 = *(int **)(pcVar7 + 0xd8b0c);
      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);
      pcVar8 = *(code **)(pcVar7 + 0xda58c);
      piVar33 = *(int **)(pcVar7 + 0xd93fc);
      *piVar20 = 0;
      *puVar38 = 0xffffffff;
      iVar5 = (*pcVar8)(uVar29);
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      *piVar33 = iVar5;
      iVar5 = (*pcVar8)(iVar5);
      iVar19 = *piVar39;
      **(int **)(pcVar7 + 0xd9434) = iVar5;
      goto LAB_0006bff4;
    }
    piVar33 = *(int **)(pcVar7 + 0xd93fc);
    iVar5 = **(int **)(pcVar7 + 0xd87e4);
    *piVar33 = -1;
    if (iVar5 == 0) goto LAB_0006be24;
    uVar29 = (**(code **)(pcVar7 + 0xda58c))();
    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);
    if (iVar5 == 0) {
      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);
      *piVar33 = iVar5;
    }
    else {
      iVar5 = *piVar33;
    }
    if (iVar5 == -1) goto LAB_0006c3c8;
LAB_0006bf80:
    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);
    *piVar33 = iVar5;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar39 != 0) goto LAB_0006be5c;
LAB_0006bf08:
    iVar5 = (*pcVar8)();
    pcVar8 = *(code **)(pcVar7 + 0xda4fc);
    *piVar39 = iVar5;
    (*pcVar8)(0,iVar5);
    iVar5 = *piVar33;
    if (iVar5 != -1) {
      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);
      goto LAB_0006be5c;
    }
  }
  iVar19 = 0x12;
  piVar42 = *(int **)(pcVar7 + 0xd9434);
  piVar20 = *(int **)(pcVar7 + 0xd8a98);
  while( true ) {
    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);
    *piVar42 = iVar5;
    if (iVar5 == -1) break;
    if (*piVar39 == iVar5) {
      iVar9 = -1;
      goto LAB_0006c118;
    }
    pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    if (*piVar20 != 0) {
      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);
      pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    }
    iVar19 = iVar19 + -1;
    uVar29 = (*pcVar8)(0x1a,0);
    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);
    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);
    if (iVar19 == 0) {
      piVar20 = *(int **)(pcVar7 + 0xd8b0c);
      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);
      sys_error(pcVar15);
      iVar5 = *piVar42;
      iVar19 = *piVar39;
      *piVar20 = 0;
      **(int **)(pcVar7 + 0xd9070) = iVar5;
      goto LAB_0006bff4;
    }
    iVar5 = *piVar33;
  }
  piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
  iVar9 = *piVar20;
  iVar5 = *piVar39;
LAB_0006c118:
  piVar26 = *(int **)(pcVar7 + 0xd9070);
  pcVar8 = *(code **)(pcVar7 + 0xda670);
  *piVar26 = iVar5;
  iVar5 = (*pcVar8)();
  iVar19 = *piVar26;
  *piVar39 = iVar5;
  if (iVar5 == iVar19) {
LAB_0006c138:
    piVar20 = *(int **)(pcVar7 + 0xd8b0c);
    *piVar20 = 1;
LAB_0006c144:
    pcVar8 = *(code **)(pcVar7 + 0xda598);
LAB_0006c148:
    iVar19 = (*pcVar8)(*piVar33);
    if ((iVar19 == -1) || (*piVar39 != iVar19)) {
      if (iVar9 != -1) {
        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
        *piVar26 = iVar9;
      }
      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);
      sys_error(pcVar15,iVar19);
      *piVar20 = 0;
      goto LAB_0006c230;
    }
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
    if (*piVar20 != 0) {
      iVar5 = *piVar42;
      goto LAB_0006bff4;
    }
  }
  else {
    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);
    if (iVar5 < 0) {
      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);
      sys_error(pcVar15);
      *piVar39 = *piVar26;
      goto LAB_0006c138;
    }
    piVar20 = *(int **)(pcVar7 + 0xd8b0c);
    iVar19 = *piVar39;
    iVar5 = *piVar26;
    *piVar20 = 1;
    if (iVar19 == iVar5) goto LAB_0006c144;
    pcVar8 = *(code **)(pcVar7 + 0xda598);
    if (*piVar42 == iVar19) goto LAB_0006c148;
    iVar5 = give_terminal_to(iVar19,0);
    if (iVar5 < 0) {
      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();
      uVar29 = *puVar38;
      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);
      iVar5 = *(int *)(pcVar7 + 0xd87dc);
      pcVar8 = *(code **)(pcVar7 + 0xda6fc);
      *piVar39 = *piVar26;
      *puVar38 = uVar29;
      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);
      sys_error(pcVar15,*piVar39);
      *piVar20 = 0;
    }
    else {
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      if (*piVar20 != 0) goto LAB_0006c148;
    }
LAB_0006c230:
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
  }
  pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);
  internal_error(pcVar15);
  iVar5 = *piVar42;
  iVar19 = *piVar39;
LAB_0006bff4:
  pcVar8 = *(code **)(pcVar7 + 0xda58c);
  uVar29 = *puVar21;
  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5);
  iVar5 = (*pcVar8)(uVar29);
  if (iVar5 != *piVar33) {
    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);
  }
  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);
  iVar5 = 0x2b;
  if (*piVar20 != 0) {
    iVar5 = 0x2d;
  }
  change_flag(0x6d,iVar5);
  if (*piVar40 != 0) {
    get_tty_state();
  }
  piVar39 = *(int **)(pcVar7 + 0xd90bc);
  if (-1 < *piVar39) {
    return *piVar20;
  }
  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();
  if (iVar5 < 0) {
    iVar5 = 0x20;
  }
  *piVar39 = iVar5;
  return *piVar20;
}



undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  undefined *puVar6;
  code *pcVar7;
  code *pcVar8;
  int iVar9;
  undefined *puVar10;
  uint uVar11;
  char cVar15;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined4 *puVar14;
  int iVar16;
  undefined4 *puVar17;
  undefined4 *puVar18;
  uint uVar19;
  int iVar20;
  int *piVar21;
  undefined4 *puVar22;
  undefined4 uVar23;
  int iVar24;
  undefined4 uVar25;
  int *piVar26;
  int iVar27;
  undefined *puVar28;
  int *piVar29;
  undefined4 uVar30;
  undefined1 *puVar31;
  undefined4 *puVar32;
  undefined *puVar33;
  undefined *puVar34;
  undefined *puVar35;
  int *piVar36;
  undefined4 *puVar37;
  undefined *puVar38;
  undefined *puVar39;
  undefined *puVar40;
  int iVar41;
  undefined4 *puVar42;
  int *unaff_s6;
  int *piVar43;
  int *piVar44;
  int unaff_s8;
  int *piVar45;
  undefined4 uStack_7f4;
  undefined1 auStack_7ec [128];
  undefined1 auStack_76c [128];
  int iStack_6ec;
  undefined1 *puStack_6e8;
  undefined1 *puStack_6e4;
  undefined1 *puStack_6e0;
  int *piStack_6dc;
  int *piStack_6d8;
  undefined4 *puStack_6d4;
  int *piStack_6d0;
  int iStack_6cc;
  int *piStack_6c8;
  code *pcStack_6c4;
  code *pcStack_6b0;
  code *pcStack_6a4;
  undefined1 auStack_69c [128];
  undefined1 auStack_61c [128];
  int *piStack_59c;
  undefined1 *puStack_598;
  undefined1 *puStack_594;
  undefined1 *puStack_590;
  undefined4 uStack_58c;
  int *piStack_588;
  int iStack_584;
  int *piStack_580;
  int *piStack_57c;
  int *piStack_578;
  code *pcStack_574;
  code *pcStack_560;
  code *pcStack_554;
  int iStack_550;
  int iStack_54c;
  int *piStack_548;
  code *pcStack_544;
  undefined1 auStack_53c [128];
  undefined1 auStack_4bc [128];
  int iStack_43c;
  int *piStack_438;
  int iStack_434;
  undefined1 *puStack_430;
  int iStack_42c;
  undefined1 *puStack_428;
  int iStack_424;
  int *piStack_420;
  int *piStack_41c;
  int *piStack_418;
  code *pcStack_414;
  code *pcStack_400;
  code *pcStack_3f4;
  int *piStack_3f0;
  code *pcStack_3ec;
  undefined1 auStack_3e4 [128];
  undefined1 auStack_364 [128];
  undefined1 *puStack_2e4;
  undefined1 *puStack_2e0;
  undefined1 *puStack_2dc;
  uint uStack_2d8;
  int iStack_2d4;
  undefined *puStack_2d0;
  undefined1 *puStack_2cc;
  int *piStack_2c8;
  int *piStack_2c4;
  int *piStack_2c0;
  code *pcStack_2bc;
  undefined *puStack_2a8;
  undefined1 auStack_29c [128];
  undefined1 auStack_21c [128];
  int iStack_19c;
  undefined *puStack_198;
  undefined *puStack_194;
  undefined *puStack_190;
  int *piStack_18c;
  undefined *puStack_188;
  undefined *puStack_184;
  int *piStack_180;
  undefined *puStack_17c;
  int iStack_178;
  code *pcStack_174;
  undefined1 *local_144;
  undefined auStack_12c [128];
  undefined auStack_ac [128];
  uint local_2c;
  
  puVar4 = PTR___stack_chk_guard_001464dc;
  puVar2 = PTR___environ_00145154;
  piVar43 = (int *)PTR_job_control_001448a8;
  puVar40 = auStack_ac;
  puVar33 = auStack_12c;
  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;
  (*(code *)PTR_sigemptyset_001462d4)(puVar33);
  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(puVar40);
  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);
  iVar5 = *piVar43;
  *(undefined4 *)(puVar2 + -0x70d8) = 0;
  *(undefined4 *)(puVar2 + -0x70d4) = 0;
  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {
    puVar33 = PTR_LAB_00144ff0 + 0x4a64;
    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);
    unaff_s6 = (int *)PTR___environ_00145154;
    if (puVar6 == puVar33) {
      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);
      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
    }
    else {
      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;
      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;
    }
    if (puVar6 == (undefined *)0x1) {
      (*(code *)PTR_set_signal_handler_00144848)(2,1);
    }
    piVar21 = (int *)PTR_terminating_signal_00144834;
    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;
    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {
      if (*(int *)PTR_terminating_signal_00144834 != 0) {
        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);
      }
      if (*(int *)PTR_interrupt_state_0014483c != 0) {
        (*(code *)PTR_throw_to_top_level_00144840)();
      }
    }
    iVar5 = *piVar21;
  }
  else {
    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;
    iVar5 = *(int *)PTR_terminating_signal_00144834;
    piVar21 = (int *)PTR_terminating_signal_00144834;
  }
  if (iVar5 != 0) {
    (*(code *)PTR_termsig_handler_00144838)(*piVar21);
  }
  puVar3 = PTR_wait_intr_flag_00145168;
  puVar38 = PTR___environ_00145154;
  puVar1 = PTR_wait_builtin_00145150;
  puVar6 = PTR_this_shell_builtin_00144a84;
  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||
       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||
      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||
     (puVar35 = puVar40, puVar39 = puVar2,
     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {
    unaff_s8 = 0;
    puVar35 = (undefined *)0xffffffff;
    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);
    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);
    do {
      do {
        puVar33 = (undefined *)0xffffffff;
        iVar5 = *(int *)(puVar38 + -0x70dc);
        puVar39 = puVar38;
        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;
        unaff_s8 = (*pcVar8)(param_1,0,0);
        puVar10 = PTR_wait_for_background_pids_00145158;
        puVar34 = PTR_data_start_00144568;
        if (unaff_s8 == 0) {
          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);
          internal_error(uVar30,param_1);
          puVar40 = *(undefined **)(puVar34 + 0x460);
          if (puVar40 == puVar10) {
            local_144 = (undefined1 *)0x7f;
          }
          else {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            local_144 = (undefined1 *)0x7f;
            *(undefined **)(puVar34 + 0x460) = puVar10;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a040;
        }
        iVar20 = *(int *)(unaff_s8 + 0xc);
        if (puVar35 == puVar33) {
          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {
            puVar33 = (undefined *)0x0;
            param_4 = *(int **)PTR_jobs_00144e5c;
            do {
              iVar9 = *param_4;
              if (iVar9 != 0) {
                piVar45 = *(int **)(iVar9 + 4);
                do {
                  if (param_1 == (undefined *)piVar45[1]) {
                    if (iVar20 == 1) goto LAB_0006a0c0;
                    goto LAB_00069c50;
                  }
                  piVar45 = (int *)*piVar45;
                } while (*(int **)(iVar9 + 4) != piVar45);
              }
              puVar33 = puVar33 + 1;
              param_4 = param_4 + 1;
            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);
          }
          iVar5 = *(int *)(puVar38 + -0x70dc);
          if (iVar20 == 1) goto LAB_0006a0c8;
        }
        else {
          puVar33 = puVar35;
          if (iVar20 == 1) {
LAB_0006a0c0:
            iVar5 = *(int *)(puVar38 + -0x70dc);
            puVar35 = puVar33;
          }
          else {
            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);
LAB_00069c50:
            iVar5 = *(int *)(puVar38 + -0x70dc);
            puVar35 = puVar33;
            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;
          }
LAB_0006a0c8:
          *(undefined4 *)(puVar38 + -0x7040) = 1;
          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;
          iVar5 = (*pcVar7)(1);
          *(undefined4 *)(puVar38 + -0x7040) = 0;
          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;
          unaff_s6 = (int *)puVar38;
          if ((iVar5 == -1) &&
             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),
             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,
             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {
            if (*(undefined **)puVar6 == puVar1) {
              puVar34 = puVar38;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_wait_for_background_pids_00145158) {
                local_144 = (undefined1 *)0xffffffff;
              }
              else {
                (*(code *)PTR_set_signal_handler_00144848)(2);
                local_144 = (undefined1 *)0xffffffff;
                *(undefined **)(puVar28 + 0x460) = puVar10;
                *(undefined4 *)(puVar38 + -0x70dc) = 0;
              }
              goto LAB_0006a02c;
            }
            if (unaff_s8 != 0) {
              *(undefined4 *)(unaff_s8 + 0xc) = 0;
              *(undefined4 *)(unaff_s8 + 8) = 0;
            }
            *(undefined4 *)(puVar33 + 4) = 0;
            if (puVar35 != (undefined *)0xffffffff) {
              iVar5 = *(int *)(puVar33 + 0x28);
              param_4 = *(int **)PTR_jobs_00144e5c;
              iVar20 = param_4[(int)puVar35];
              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;
              *(undefined4 *)(iVar20 + 0xc) = 4;
              *(int *)(puVar33 + 0x28) = iVar5 + 1;
            }
            if (param_1 == (undefined *)0xffffffff) {
              puVar28 = PTR_data_start_00144568;
              puVar34 = PTR_wait_for_background_pids_00145158;
              piVar45 = (int *)puVar38;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;
              goto LAB_00069d30;
            }
          }
        }
LAB_00069c60:
        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {
          if (*piVar21 != 0) {
            (*(code *)PTR_termsig_handler_00144838)(*piVar21);
          }
          if (*(int *)PTR_interrupt_state_0014483c != 0) {
            (*(code *)PTR_throw_to_top_level_00144840)();
          }
        }
        if (*piVar21 != 0) {
          (*(code *)PTR_termsig_handler_00144838)(*piVar21);
        }
        puVar34 = PTR_wait_for_background_pids_00145158;
        puVar28 = PTR_data_start_00144568;
        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&
            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&
           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;
        if (param_1 == (undefined *)0xffffffff) {
          puVar10 = puVar35;
          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
              PTR_wait_for_background_pids_00145158) {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            *(undefined **)(puVar28 + 0x460) = puVar34;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a02c;
        }
      } while (*(int *)(unaff_s8 + 0xc) == 1);
      if (puVar35 == (undefined *)0xffffffff) {
        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
            PTR_wait_for_background_pids_00145158) {
          (*(code *)PTR_set_signal_handler_00144848)(2);
          *(undefined **)(puVar28 + 0x460) = puVar34;
          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
        }
        goto LAB_0006a2e0;
      }
      unaff_s6 = (int *)((int)puVar35 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar20 = *(int *)(iVar5 + 0xc);
      param_4 = (int *)PTR_jobs_00144e5c;
    } while (iVar20 == 1);
    piVar45 = (int *)PTR___environ_00145154;
    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {
LAB_00069d68:
      param_4 = (int *)PTR_jobs_00144e5c;
      local_144 = (undefined1 *)job_exit_status(puVar35);
      uVar11 = FUN_000641bc(puVar35);
      uVar11 = uVar11 & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        uVar11 = 0;
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      puVar33 = PTR_subshell_environment_00144674;
      if (iVar20 == 2) {
        uVar11 = *(uint *)(unaff_s8 + 8);
LAB_0006a460:
        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);
LAB_00069ddc:
        iVar5 = *(int *)(*param_4 + (int)unaff_s6);
      }
      else if (unaff_s8 != 0) {
        uVar11 = *(uint *)(unaff_s8 + 8);
        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;
        goto LAB_00069ddc;
      }
      uVar11 = *(uint *)PTR_subshell_environment_00144674;
      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))
      {
        if ((uVar11 & 0x11) == 0) {
          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
          uVar11 = *(uint *)puVar33;
        }
        else {
          uVar11 = *(uint *)PTR_subshell_environment_00144674;
        }
      }
      piVar21 = (int *)PTR_interactive_shell_00144598;
      if (*(int *)PTR_interactive_shell_00144598 != 0) {
        if (uVar11 == 0) {
          iVar5 = *(int *)(*param_4 + (int)unaff_s6);
          piVar45 = *(int **)(iVar5 + 4);
          do {
            puVar34 = (undefined *)(piVar45[2] & 0x7f);
            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);
            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {
              set_tty_state();
              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;
              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&
                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))
              goto LAB_00069ef0;
              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
              goto LAB_00069ee4;
            }
            piVar45 = (int *)*piVar45;
          } while (*(int **)(iVar5 + 4) != piVar45);
          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {
            get_tty_state();
LAB_00069ee4:
            iVar5 = *(int *)(*param_4 + (int)unaff_s6);
          }
LAB_00069ef0:
          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||
             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;
          iVar5 = signal_is_trapped(2);
          param_1 = puVar28;
          if ((((iVar5 == 0) &&
               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0
                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&
                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||
              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&
               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)
               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&
                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,
                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;
          puVar28 = PTR_stdout_001462f8;
          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);
          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);
        }
        else if ((uVar11 & 0x14) != 0) {
          iVar5 = *(int *)(puVar2 + -0x70d4);
          goto LAB_0006a3ac;
        }
LAB_00069ffc:
        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
        iVar5 = *unaff_s6;
LAB_0006a008:
        iVar20 = *(int *)(iVar5 + 0xc);
        param_1 = puVar28;
        goto LAB_0006a00c;
      }
      if ((uVar11 & 0x14) != 0) {
        iVar5 = *(int *)(puVar2 + -0x70d4);
LAB_0006a3ac:
        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&
           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {
          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);
          *(int *)(puVar28 + 0x460) = iVar5;
          if (iVar5 == 1) {
            if (puVar34 != (undefined *)0x1) {
              (*(code *)PTR_set_signal_handler_00144848)(2,1);
              *(undefined **)(puVar28 + 0x460) = puVar34;
              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
              iVar5 = *unaff_s6;
              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
              goto LAB_0006a008;
            }
          }
          else {
            uVar30 = (*(code *)PTR_getpid_0014640c)();
            (*(code *)PTR_kill_001463b8)(uVar30,2);
          }
        }
        goto LAB_00069ffc;
      }
      iVar5 = *(int *)(*param_4 + (int)unaff_s6);
      if (uVar11 != 0) goto LAB_0006a008;
      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {
        piVar45 = *(int **)(iVar5 + 4);
        do {
          uVar11 = piVar45[2] & 0x7f;
          cVar15 = (char)((char)uVar11 + '\x01') >> 1;
          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;
          piVar45 = (int *)*piVar45;
        } while (*(int **)(iVar5 + 4) != piVar45);
        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&
           (('\0' < cVar15 && (uVar11 == 2)))) {
          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;
        }
        if (*(int *)PTR_check_window_size_00144af0 != 0) {
          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
          goto LAB_00069ffc;
        }
        param_1 = puVar28;
        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;
        goto LAB_0006a528;
      }
      goto LAB_0006a01c;
    }
LAB_00069d30:
    puVar34 = PTR_wait_for_background_pids_00145158;
    puVar28 = PTR_data_start_00144568;
    (*(code *)PTR_set_signal_handler_00144848)(2);
    *(undefined **)(puVar28 + 0x460) = puVar34;
    piVar45[-0x1c37] = 0;
    unaff_s6 = piVar45;
LAB_00069d48:
    if (puVar35 != (undefined *)0xffffffff) {
      unaff_s6 = (int *)((int)puVar35 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar20 = *(int *)(iVar5 + 0xc);
      goto LAB_00069d68;
    }
    if (unaff_s8 == 0) {
      local_144 = (undefined1 *)0x0;
      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;
    }
    else {
LAB_0006a2e0:
      uVar19 = *(uint *)(unaff_s8 + 8);
      uVar11 = uVar19 & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        local_144 = (undefined1 *)FUN_00064cec(uVar19);
        uVar11 = 0;
      }
      else {
        local_144 = (undefined1 *)(uVar11 + 0x80);
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      if ((uVar19 & 0xff) == 0x7f) {
        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);
      }
    }
    puVar10 = puVar35;
    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&
        *(int *)PTR_running_in_background_001446f0 == 0) {
      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
    }
  }
  else {
LAB_0006a708:
    puVar34 = puVar33;
    piVar45 = (int *)0x1;
    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);
LAB_0006a714:
    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
    iVar5 = *unaff_s6;
    *piVar45 = *piVar45 + 1;
    iVar20 = *(int *)(iVar5 + 0xc);
LAB_0006a00c:
    puVar28 = param_1;
    puVar38 = puVar39;
    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {
LAB_0006a528:
      FUN_00064d0c(puVar35);
      puVar28 = param_1;
      puVar38 = puVar39;
    }
LAB_0006a01c:
    notify_and_cleanup();
    puVar10 = puVar35;
  }
LAB_0006a02c:
  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
  param_1 = puVar28;
LAB_0006a040:
  if (local_2c == *(uint *)puVar4) {
    return local_144;
  }
  pcVar7 = wait_for_single_pid;
  uVar11 = local_2c;
  puVar33 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_2a8 = puVar33 + 0xe1e00;
  piVar45 = *(int **)(puVar33 + 0xdbd9c);
  puStack_17c = (undefined *)piVar43;
  iStack_19c = *piVar45;
  puStack_198 = param_1;
  puStack_194 = puVar34;
  puStack_190 = puVar10;
  piStack_18c = piVar21;
  puStack_188 = puVar38;
  puStack_184 = puVar3;
  piStack_180 = unaff_s6;
  iStack_178 = unaff_s8;
  pcStack_174 = pcVar7;
  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);
  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
  iVar5 = FUN_0006403c(uVar11,0,0);
  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
  if (iVar5 == 0) {
    piVar21 = *(int **)(puStack_2a8 + -0x7408);
    iVar20 = *piVar21;
    iVar5 = 0;
    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {
      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);
      if (iVar9 != -1) {
        piVar21 = (int *)(iVar20 + iVar9 * 0x10);
        if (uVar11 == piVar21[2]) {
LAB_0006aaf8:
          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);
          if (-1 < (int)puVar12) goto LAB_0006a9b0;
        }
        else {
          iVar41 = *piVar21;
          while (iVar9 != iVar41) {
            if (iVar41 == -1) goto LAB_0006aae8;
            piVar21 = (int *)(iVar20 + iVar41 * 0x10);
            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;
            iVar41 = *piVar21;
          }
          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);
        }
      }
    }
LAB_0006aae8:
    puVar40 = (undefined *)((uint)puVar40 & 1);
    if (puVar40 == (undefined *)0x0) {
      puVar12 = (undefined1 *)0x7f;
    }
    else {
      puVar12 = (undefined1 *)0x7f;
      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);
      internal_error(uVar30,uVar11);
    }
  }
  else {
    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);
    puVar40 = (undefined *)((uint)puVar40 & 2);
    piVar43 = (int *)0x7f;
    puVar12 = (undefined1 *)wait_for(uVar11);
    while (puVar40 != (undefined *)0x0) {
      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {
        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
        break;
      }
      (**(code **)(puStack_2a8 + -0x602c))();
      puVar12 = (undefined1 *)wait_for(uVar11);
    }
    iVar5 = *(int *)(puStack_2a8 + -0x76e8);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
    if (0 < *(int *)(iVar5 + 0x18)) {
      iVar20 = 0;
      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);
      do {
        iVar9 = *piVar21;
        if (iVar9 != 0) {
          piVar44 = *(int **)(iVar9 + 4);
          uVar19 = piVar44[1];
          piVar29 = piVar44;
          while( true ) {
            if (uVar11 == uVar19) {
              pcVar7 = *(code **)(puStack_2a8 + -0x602c);
              if (*(int *)(iVar9 + 0xc) == 4) {
                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;
              }
              goto LAB_0006a950;
            }
            piVar29 = (int *)*piVar29;
            if (piVar44 == piVar29) break;
            uVar19 = piVar29[1];
          }
        }
        iVar20 = iVar20 + 1;
        piVar21 = piVar21 + 1;
      } while (iVar20 != *(int *)(iVar5 + 0x18));
    }
    pcVar7 = *(code **)(puStack_2a8 + -0x602c);
LAB_0006a950:
    (*pcVar7)(3,auStack_21c,0);
    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {
      if ((*(int *)(iVar5 + 0x18) != 0) &&
         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {
        FUN_00068b60();
      }
      FUN_000648c0(uVar11);
    }
  }
LAB_0006a9b0:
  if (iStack_19c == *piVar45) {
    return puVar12;
  }
  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);
  pcVar8 = wait_for_background_pids;
  (*pcVar7)();
  pcStack_400 = pcVar7 + 0xe19dc;
  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);
  iVar20 = *(int *)(pcVar7 + 0xda48c);
  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);
  iVar9 = *(int *)(pcVar7 + 0xd9a14);
  puStack_2e4 = (undefined1 *)*piStack_3f0;
  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);
  iVar41 = *(int *)(pcVar7 + 0xda2f4);
  piVar21 = *(int **)(pcVar7 + 0xda2f8);
  puStack_2e0 = auStack_29c;
  puStack_2dc = auStack_21c;
  uStack_2d8 = uVar11;
  iStack_2d4 = iVar5;
  puStack_2d0 = puVar40;
  puStack_2cc = puVar12;
  piStack_2c8 = unaff_s6;
  piStack_2c4 = piVar43;
  piStack_2c0 = piVar45;
  pcStack_2bc = pcVar8;
LAB_0006abe0:
  do {
    pcVar7 = *(code **)(pcStack_400 + -0x626c);
    do {
      piVar29 = (int *)0x0;
      (*pcVar7)(auStack_3e4);
      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);
      (**(code **)(pcStack_400 + -0x626c))(auStack_364);
      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);
      piVar45 = *(int **)(iVar41 + 0x18);
      pcVar7 = pcStack_400;
      if (0 < (int)piVar45) {
        iVar20 = 2;
        do {
          piVar43 = (int *)((int)piVar29 * 4);
          iVar5 = *(int *)(*piVar21 + (int)piVar43);
          if (iVar5 != 0) {
            iVar16 = *(int *)(iVar5 + 0xc);
            if (iVar16 == 2) {
              iVar5 = (*pcStack_3f4)(piVar29);
              (**(code **)(pcStack_400 + -0x7354))
                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));
              piVar43 = (int *)(*piVar21 + (int)piVar43);
              iVar5 = *piVar43;
              pcVar7 = pcStack_400;
              if (iVar5 == 0) goto LAB_0006ac6c;
              iVar16 = *(int *)(iVar5 + 0xc);
            }
            unaff_s6 = (int *)((int)piVar29 + 1);
            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {
              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;
              pcVar7 = *(code **)(pcVar7 + -0x602c);
              goto LAB_0006ad54;
            }
          }
LAB_0006ac6c:
          piVar29 = (int *)((int)piVar29 + 1);
          piVar45 = *(int **)(iVar41 + 0x18);
          unaff_s6 = piVar29;
        } while ((int)piVar29 < (int)piVar45);
      }
      pcVar7 = *(code **)(pcVar7 + -0x602c);
      if (piVar29 == piVar45) {
LAB_0006ad54:
        puVar12 = auStack_364;
        (*pcVar7)(3,auStack_364,0);
        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&
           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {
          wait_for();
        }
        wait_procsubs();
        reap_procsubs();
        iVar5 = 1;
        FUN_00065adc();
        if ((*(int *)(iVar41 + 0x18) != 0) &&
           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {
          FUN_00068b60();
        }
        FUN_000645ac();
        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {
          return (undefined1 *)*piStack_3f0;
        }
        pcVar7 = *(code **)(pcStack_400 + -0x60b8);
        pcVar8 = wait_for_job;
        (*pcVar7)();
        pcStack_560 = pcVar7 + 0xe1688;
        piStack_548 = *(int **)(pcVar7 + 0xdb624);
        puVar31 = auStack_53c;
        piVar44 = (int *)(iVar5 * 4);
        iStack_43c = *piStack_548;
        piVar45 = *(int **)(pcVar7 + 0xd9fa4);
        piStack_438 = piVar29;
        iStack_434 = iVar20;
        puStack_430 = auStack_364;
        iStack_42c = iVar9 + 0x7d64;
        puStack_428 = auStack_3e4;
        iStack_424 = iVar41;
        piStack_420 = unaff_s6;
        piStack_41c = piVar43;
        piStack_418 = piVar21;
        pcStack_414 = pcVar8;
        (**(code **)(pcVar7 + 0xdb41c))(puVar31);
        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {
          uVar30 = (**(code **)(pcStack_560 + -0x60a8))
                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);
          internal_warning(uVar30,iVar5 + 1);
        }
        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);
        piVar43 = (int *)0xffffffff;
        piVar21 = (int *)((uint)puVar12 & 2);
        iStack_54c = *(int *)(pcStack_560 + -0x76e8);
        iVar20 = FUN_00065a6c(iVar5);
        piVar29 = *(int **)(iVar20 + 4);
        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);
        goto LAB_0006afd8;
      }
LAB_0006ac88:
      iVar5 = (*pcStack_3f4)(piVar29);
      uVar30 = *(undefined4 *)(iVar5 + 4);
      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);
      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {
        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));
      }
      if (**(int **)(pcStack_400 + -0x7d04) != 0) {
        (**(code **)(pcStack_400 + -32000))();
      }
      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();
      *unaff_s6 = 0;
      iVar5 = wait_for_single_pid(uVar30,1);
      if (iVar5 != -1) goto LAB_0006abe0;
      pcVar7 = *(code **)(pcStack_400 + -0x626c);
    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));
    (*pcStack_3ec)();
  } while( true );
LAB_0006b3b8:
  puVar13 = (undefined1 *)job_exit_status(piVar45);
  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&
     (*(int *)(iVar20 + -0x705c) == 0)) {
    FUN_00066b6c(piVar45,0);
  }
  (**(code **)(pcStack_6b0 + -0x737c))();
  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
  goto LAB_0006b430;
  while( true ) {
    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);
    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);
    if (iStack_550 == 4) break;
LAB_0006afd8:
    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);
    if (((puVar12 == (undefined1 *)0xffffffff) &&
        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&
       (*(int *)(iStack_54c + 0x18) != 0)) {
      (*pcStack_544)();
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    else {
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    if (piVar21 == (int *)0x0) {
      (*pcVar7)(puVar31);
      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
      if (iVar5 != -1) goto LAB_0006b0d0;
      pcVar7 = *(code **)(pcStack_560 + -0x602c);
      goto LAB_0006b0f4;
    }
    (*pcVar7)();
    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
    if (iVar5 == -1) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      (**(code **)(pcStack_560 + -0x626c))(puVar31);
      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
      goto LAB_0006b0f0;
    }
    if (*(int *)(*piVar45 + (int)piVar44) == 0) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      break;
    }
  }
  (**(code **)(pcStack_560 + -0x626c))(puVar31);
  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
LAB_0006b0d0:
  piVar44 = (int *)(*piVar45 + (int)piVar44);
  iVar20 = *piVar44;
  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {
    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;
  }
LAB_0006b0f0:
  pcVar7 = *(code **)(pcStack_560 + -0x602c);
LAB_0006b0f4:
  (*pcVar7)(3,auStack_4bc,0);
  if (iStack_43c == *piStack_548) {
    return puVar12;
  }
  pcVar7 = *(code **)(pcStack_560 + -0x60b8);
  pcVar8 = wait_for_any_job;
  (*pcVar7)();
  pcStack_6b0 = pcVar7 + 0xe1290;
  iVar20 = *(int *)(pcVar7 + 0xd9ea4);
  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);
  uStack_58c = 0xffffffff;
  piStack_59c = (int *)*puVar42;
  puStack_598 = puVar31;
  puStack_594 = auStack_4bc;
  puStack_590 = puVar12;
  piStack_588 = piVar21;
  iStack_584 = iVar5;
  piStack_580 = piVar29;
  piStack_57c = piVar44;
  piStack_578 = piVar45;
  pcStack_574 = pcVar8;
  if (*(int *)(iVar20 + -0x705c) == 0) {
    puVar13 = auStack_69c;
    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);
    puVar31 = auStack_61c;
    (**(code **)(pcVar7 + 0xdb024))(puVar13);
    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
    if (0 < (int)*(int **)(puVar12 + 0x18)) {
      piVar45 = (int *)0x0;
      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);
      piVar44 = piVar26;
      do {
        iVar5 = *piVar44;
        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))
        goto LAB_0006b3b8;
        piVar45 = (int *)((int)piVar45 + 1);
        piVar44 = piVar44 + 1;
      } while (piVar45 != *(int **)(puVar12 + 0x18));
    }
    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);
    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);
    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
    piVar45 = *(int **)(pcStack_6b0 + -0x7550);
    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);
    pcStack_6a4 = (code *)(piVar45 + 0x1398);
    do {
      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
      iVar5 = *(int *)(puVar12 + 0x18);
      if (iVar5 < 1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
        if (iVar5 == 0) {
LAB_0006b680:
          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
          puVar13 = (undefined1 *)0xffffffff;
          goto LAB_0006b430;
        }
      }
      else {
        piVar44 = (int *)*piVar21;
        iVar9 = 0;
        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||
               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {
          iVar9 = iVar9 + 1;
          piVar44 = piVar44 + 1;
          if (iVar9 == iVar5) goto LAB_0006b680;
        }
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
      }
      (*pcVar7)(3,puVar31,0);
      if (*piVar43 == 0) {
        pcVar7 = *(code **)(pcStack_6b0 + -32000);
        if (*piVar29 == 0) goto LAB_0006b564;
LAB_0006b6f0:
        (*pcVar7)();
        if (*piVar43 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
          goto LAB_0006b708;
        }
      }
      else {
        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);
        if (*piVar29 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -32000);
          goto LAB_0006b6f0;
        }
LAB_0006b564:
        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
        if (*piVar43 != 0) {
LAB_0006b708:
          (*pcVar7)(*piVar43);
        }
      }
      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {
LAB_0006b5a4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
      }
      else {
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {
          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {
            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);
            pcVar7 = pcStack_6b0;
            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))
            goto LAB_0006b5a4;
            goto LAB_0006b730;
          }
        }
      }
      piVar45 = (int *)(*pcVar7)();
      *piVar45 = 0;
      iVar5 = wait_for(0xffffffff);
      if (iVar5 == -1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {
          (*pcStack_6a4)();
          goto LAB_0006b5d4;
        }
      }
      else {
LAB_0006b5d4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
      }
      (*pcVar7)(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
      if (0 < (int)*(int **)(puVar12 + 0x18)) {
        piVar26 = (int *)*piVar21;
        piVar45 = (int *)0x0;
        piVar44 = piVar26;
        do {
          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;
          piVar45 = (int *)((int)piVar45 + 1);
          piVar44 = piVar44 + 1;
        } while (*(int **)(puVar12 + 0x18) != piVar45);
      }
      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
    } while( true );
  }
  puVar13 = (undefined1 *)0xffffffff;
LAB_0006b430:
  pcVar7 = pcStack_6b0;
  if (piStack_59c == (int *)*puVar42) {
    return puVar13;
  }
  piVar44 = piStack_59c;
  (**(code **)(pcStack_6b0 + -0x60b8))();
LAB_0006b730:
  pcVar7 = *(code **)(pcVar7 + -0x625c);
  pcVar8 = start_job;
  puVar22 = (undefined4 *)0x1;
  (*pcVar7)();
  piVar26 = *(int **)(pcVar7 + 0xdada0);
  iVar5 = (int)piVar44 * 4;
  iStack_6ec = *piVar26;
  piVar36 = *(int **)(pcVar7 + 0xd9720);
  puStack_6e8 = puVar31;
  puStack_6e4 = puVar13;
  puStack_6e0 = puVar12;
  piStack_6dc = piVar43;
  piStack_6d8 = piVar21;
  puStack_6d4 = puVar42;
  piStack_6d0 = piVar29;
  iStack_6cc = iVar20;
  piStack_6c8 = piVar45;
  pcStack_6c4 = pcVar8;
  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);
  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);
  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);
  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);
  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);
  if (iVar20 == 4) {
    puVar12 = (undefined1 *)0xffffffff;
    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);
    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else if (puVar22 == (undefined4 *)0x0) {
    if (iVar20 != 1) {
      uStack_7f4 = FUN_000649c8();
      iVar9 = *(int *)(*piVar36 + iVar5);
      iVar41 = **(int **)(pcVar7 + 0xd8e50);
      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;
      if (iVar41 == 0) {
        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {
          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;
        }
        else {
          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;
          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;
        }
      }
      else {
LAB_0006b860:
        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;
      }
      piVar43 = *(int **)(iVar9 + 4);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)
      ;
      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);
      goto LAB_0006b898;
    }
    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);
    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);
LAB_0006b9dc:
    puVar12 = (undefined1 *)0x0;
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else {
    uStack_7f4 = FUN_000649c8();
    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =
         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;
    FUN_00064368(piVar44);
    iVar9 = *(int *)(*piVar36 + iVar5);
    piVar21 = *(int **)(iVar9 + 4);
    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;
    piVar43 = piVar21;
LAB_0006b898:
    iVar41 = *(int *)(pcVar7 + 0xd8e3c);
    iVar9 = *(int *)(pcVar7 + 0xd8e70);
    iVar16 = *(int *)(pcVar7 + 0xd8e3c);
    do {
      iVar24 = piVar43[4];
      if (piVar43[4] == 0) {
        iVar24 = iVar9 + -0x6800;
      }
      iVar27 = iVar16 + 0x6720;
      if ((int *)*piVar43 == piVar21) {
        iVar27 = iVar9 + -0x6800;
      }
      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);
      piVar43 = (int *)*piVar43;
      puVar42 = *(undefined4 **)(*piVar36 + iVar5);
      piVar21 = (int *)puVar42[1];
    } while (piVar21 != piVar43);
    if (puVar22 == (undefined4 *)0x0) {
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);
      puVar42 = *(undefined4 **)(*piVar36 + iVar5);
    }
    uVar30 = *puVar42;
    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);
    if (iVar9 != 0) {
      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);
    }
    (**(code **)(pcVar7 + 0xdac04))(10);
    if (iVar20 == 1) {
      if (puVar22 == (undefined4 *)0x0) {
        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =
             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;
        goto LAB_0006b9c8;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      puVar37 = (undefined4 *)(iVar9 + -0x70d0);
      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      puVar42 = puVar37;
      puVar17 = puVar32;
      do {
        puVar14 = puVar42 + 4;
        puVar18 = puVar17 + 4;
        uVar25 = puVar42[1];
        uVar23 = puVar42[2];
        uVar30 = puVar42[3];
        *puVar17 = *puVar42;
        puVar17[1] = uVar25;
        puVar17[2] = uVar23;
        puVar17[3] = uVar30;
        puVar42 = puVar14;
        puVar17 = puVar18;
      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));
      iVar9 = *piVar36;
      *puVar18 = *puVar14;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;
    }
    else {
      iVar9 = *(int *)(*piVar36 + iVar5);
      piVar21 = *(int **)(iVar9 + 4);
      piVar43 = piVar21;
      do {
        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {
          piVar43[3] = 1;
        }
        piVar43 = (int *)*piVar43;
      } while (piVar21 != piVar43);
      *(undefined4 *)(iVar9 + 0xc) = 1;
      if (puVar22 == (undefined4 *)0x0) {
        pcVar8 = *(code **)(pcVar7 + 0xdad38);
        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;
        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);
LAB_0006b9c8:
        FUN_00064490();
        goto LAB_0006b9dc;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      puVar37 = (undefined4 *)(iVar9 + -0x70d0);
      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      puVar42 = puVar37;
      puVar17 = puVar32;
      do {
        puVar14 = puVar42 + 4;
        puVar18 = puVar17 + 4;
        uVar25 = puVar42[1];
        uVar23 = puVar42[2];
        uVar30 = puVar42[3];
        *puVar17 = *puVar42;
        puVar17[1] = uVar25;
        puVar17[2] = uVar23;
        puVar17[3] = uVar30;
        puVar42 = puVar14;
        puVar17 = puVar18;
      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));
      iVar9 = *piVar36;
      *puVar18 = *puVar14;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {
        iVar20 = *piVar36;
      }
      else {
LAB_0006bce0:
        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);
        if (iVar20 == 1) goto LAB_0006bbc8;
        iVar20 = *piVar36;
      }
      pcVar8 = *(code **)(pcVar7 + 0xdad38);
      iVar5 = *(int *)(iVar20 + iVar5);
      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;
      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);
    }
LAB_0006bbc8:
    iVar5 = FUN_00065a6c(piVar44);
    uVar30 = *(undefined4 *)(iVar5 + 4);
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
    puVar12 = (undefined1 *)wait_for(uVar30);
    puVar42 = puVar32;
    do {
      puVar14 = puVar42 + 4;
      puVar17 = puVar37 + 4;
      uVar25 = puVar42[1];
      uVar23 = puVar42[2];
      uVar30 = puVar42[3];
      *puVar37 = *puVar42;
      puVar37[1] = uVar25;
      puVar37[2] = uVar23;
      puVar37[3] = uVar30;
      puVar37 = puVar17;
      puVar42 = puVar14;
    } while (puVar14 != puVar32 + 0xc);
    *puVar17 = *puVar14;
    set_tty_state();
  }
  if (iStack_6ec == *piVar26) {
    return puVar12;
  }
  pcVar7 = *(code **)(pcVar7 + 0xdad4c);
  iVar5 = iStack_6ec;
  (*pcVar7)();
  piVar43 = *(int **)(pcVar7 + 0xd8b10);
  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();
  *piVar43 = iVar20;
  if (iVar20 == -1) {
    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);
    sys_error(uVar30);
    (**(code **)(pcVar7 + 0xda620))(1);
LAB_0006c3c8:
    uVar30 = *puVar22;
LAB_0006be24:
    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);
    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);
    *piVar36 = iVar5;
    if (iVar5 != -1) goto LAB_0006bf80;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar43 == 0) goto LAB_0006bf08;
LAB_0006be5c:
    iVar5 = *piVar36;
  }
  else {
    piVar44 = *(int **)(pcVar7 + 0xd87f4);
    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);
    uVar30 = *puVar22;
    if (iVar5 == 0 && *piVar44 == 0) {
      piVar21 = *(int **)(pcVar7 + 0xd8b0c);
      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);
      pcVar8 = *(code **)(pcVar7 + 0xda58c);
      piVar36 = *(int **)(pcVar7 + 0xd93fc);
      *piVar21 = 0;
      *puVar42 = 0xffffffff;
      iVar5 = (*pcVar8)(uVar30);
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      *piVar36 = iVar5;
      iVar5 = (*pcVar8)(iVar5);
      iVar20 = *piVar43;
      **(int **)(pcVar7 + 0xd9434) = iVar5;
      goto LAB_0006bff4;
    }
    piVar36 = *(int **)(pcVar7 + 0xd93fc);
    iVar5 = **(int **)(pcVar7 + 0xd87e4);
    *piVar36 = -1;
    if (iVar5 == 0) goto LAB_0006be24;
    uVar30 = (**(code **)(pcVar7 + 0xda58c))();
    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);
    if (iVar5 == 0) {
      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);
      *piVar36 = iVar5;
    }
    else {
      iVar5 = *piVar36;
    }
    if (iVar5 == -1) goto LAB_0006c3c8;
LAB_0006bf80:
    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);
    *piVar36 = iVar5;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar43 != 0) goto LAB_0006be5c;
LAB_0006bf08:
    iVar5 = (*pcVar8)();
    pcVar8 = *(code **)(pcVar7 + 0xda4fc);
    *piVar43 = iVar5;
    (*pcVar8)(0,iVar5);
    iVar5 = *piVar36;
    if (iVar5 != -1) {
      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);
      goto LAB_0006be5c;
    }
  }
  iVar20 = 0x12;
  piVar45 = *(int **)(pcVar7 + 0xd9434);
  piVar21 = *(int **)(pcVar7 + 0xd8a98);
  while( true ) {
    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);
    *piVar45 = iVar5;
    if (iVar5 == -1) break;
    if (*piVar43 == iVar5) {
      iVar9 = -1;
      goto LAB_0006c118;
    }
    pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    if (*piVar21 != 0) {
      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);
      pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    }
    iVar20 = iVar20 + -1;
    uVar30 = (*pcVar8)(0x1a,0);
    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);
    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);
    if (iVar20 == 0) {
      piVar21 = *(int **)(pcVar7 + 0xd8b0c);
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);
      sys_error(uVar30);
      iVar5 = *piVar45;
      iVar20 = *piVar43;
      *piVar21 = 0;
      **(int **)(pcVar7 + 0xd9070) = iVar5;
      goto LAB_0006bff4;
    }
    iVar5 = *piVar36;
  }
  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
  iVar9 = *piVar21;
  iVar5 = *piVar43;
LAB_0006c118:
  piVar29 = *(int **)(pcVar7 + 0xd9070);
  pcVar8 = *(code **)(pcVar7 + 0xda670);
  *piVar29 = iVar5;
  iVar5 = (*pcVar8)();
  iVar20 = *piVar29;
  *piVar43 = iVar5;
  if (iVar5 == iVar20) {
LAB_0006c138:
    piVar21 = *(int **)(pcVar7 + 0xd8b0c);
    *piVar21 = 1;
LAB_0006c144:
    pcVar8 = *(code **)(pcVar7 + 0xda598);
LAB_0006c148:
    iVar20 = (*pcVar8)(*piVar36);
    if ((iVar20 == -1) || (*piVar43 != iVar20)) {
      if (iVar9 != -1) {
        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
        *piVar29 = iVar9;
      }
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);
      sys_error(uVar30,iVar20);
      *piVar21 = 0;
      goto LAB_0006c230;
    }
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
    if (*piVar21 != 0) {
      iVar5 = *piVar45;
      goto LAB_0006bff4;
    }
  }
  else {
    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);
    if (iVar5 < 0) {
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);
      sys_error(uVar30);
      *piVar43 = *piVar29;
      goto LAB_0006c138;
    }
    piVar21 = *(int **)(pcVar7 + 0xd8b0c);
    iVar20 = *piVar43;
    iVar5 = *piVar29;
    *piVar21 = 1;
    if (iVar20 == iVar5) goto LAB_0006c144;
    pcVar8 = *(code **)(pcVar7 + 0xda598);
    if (*piVar45 == iVar20) goto LAB_0006c148;
    iVar5 = give_terminal_to(iVar20,0);
    if (iVar5 < 0) {
      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();
      uVar30 = *puVar42;
      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);
      iVar5 = *(int *)(pcVar7 + 0xd87dc);
      pcVar8 = *(code **)(pcVar7 + 0xda6fc);
      *piVar43 = *piVar29;
      *puVar42 = uVar30;
      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);
      sys_error(uVar30,*piVar43);
      *piVar21 = 0;
    }
    else {
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      if (*piVar21 != 0) goto LAB_0006c148;
    }
LAB_0006c230:
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
  }
  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);
  internal_error(uVar30);
  iVar5 = *piVar45;
  iVar20 = *piVar43;
LAB_0006bff4:
  pcVar8 = *(code **)(pcVar7 + 0xda58c);
  uVar30 = *puVar22;
  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);
  iVar5 = (*pcVar8)(uVar30);
  if (iVar5 != *piVar36) {
    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);
  }
  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);
  uVar30 = 0x2b;
  if (*piVar21 != 0) {
    uVar30 = 0x2d;
  }
  change_flag(0x6d,uVar30);
  if (*piVar44 != 0) {
    get_tty_state();
  }
  piVar43 = *(int **)(pcVar7 + 0xd90bc);
  if (-1 < *piVar43) {
    return (undefined1 *)*piVar21;
  }
  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();
  if (iVar5 < 0) {
    iVar5 = 0x20;
  }
  *piVar43 = iVar5;
  return (undefined1 *)*piVar21;
}


lui gp,0xe
addiu gp,gp,0x2af4
addu gp,gp,t9
lw v0,-0x6064(gp)
addiu sp,sp,-0x170
lw t9,-0x626c(gp)
sw s4,0x158(sp)
sw s3,0x154(sp)
sw v0,0x30(sp)
sw s2,0x150(sp)
addiu s2,sp,0xc4
sw s1,0x14c(sp)
addiu s1,sp,0x44
sw ra,0x16c(sp)
sw gp,0x10(sp)
sw s7,0x164(sp)
sw s0,0x148(sp)
or s0,a0,zero
sw s8,0x168(sp)
or a0,s1,zero
sw s6,0x160(sp)
sw s5,0x15c(sp)
sw s2,0x34(sp)
lw s3,-0x73ec(gp)
lw s4,-0x73ec(gp)
lw v0,0x0(v0)
lw s7,-0x7c98(gp)
sw s3,0x3c(sp)
sw s4,0x38(sp)
sw v0,0x144(sp)
jalr t9
_nop
li a1,0x12
lw gp,0x10(sp)
lw t9,-0x61dc(gp)
jalr t9
_or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x626c(gp)
jalr t9
_or a0,s2,zero
li a0,0x1
lw gp,0x10(sp)
or a2,s2,zero
lw t9,-0x602c(gp)
jalr t9
_or a1,s1,zero
lw v0,0x0(s7)
lw gp,0x10(sp)
sw zero,-0x70d8(s3)
beq v0,zero,0x00069b30
_sw zero,-0x70d4(s4)
lw v0,-0x7ecc(gp)
lw v0,0x0(v0)
andi v0,v0,0x4
beq v0,zero,0x0006a084
_lw v0,-0x7f60(gp)
lw s1,-0x7550(gp)
li a0,0x2
lw t9,-0x7cf8(gp)
addiu a1,s1,0x4a64
jalr t9
_addiu s1,s1,0x4a64
beq v0,s1,0x0006a370
_lw gp,0x10(sp)
lw v1,-0x7fd8(gp)
lw s6,-0x73ec(gp)
sw v0,0x460(v1)
li v1,0x1
beq v0,v1,0x0006a388
_sw zero,-0x70dc(s6)
lw v0,-0x7fb0(gp)
lw v1,-0x7f60(gp)
lw v0,0x0(v0)
lw v1,0x0(v1)
bne v0,zero,0x0006a27c
_sw v1,0x2c(sp)
lw s3,-0x7d0c(gp)
lw v0,0x0(s3)
bne v0,zero,0x0006a0a0
_lw t9,-0x7d08(gp)
lw s5,-0x73d8(gp)
lw v0,0x0(s5)
beq v0,zero,0x00069bcc
_lw v0,-0x7550(gp)
lw v0,-0x73dc(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069bcc
_lw v0,-0x7550(gp)
lw v0,-0x7abc(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069bc8
_lw v1,-0x73f0(gp)
beq v0,v1,0x0006a708
_lw a0,-0x73d4(gp)
lw v0,-0x7550(gp)
or s8,zero,zero
lw s4,-0x73ec(gp)
li s2,-0x1
lw s1,-0x73ec(gp)
addiu v0,v0,0x7f78
sw v0,0x1c(sp)
lw v0,-0x7abc(gp)
sw v0,0x24(sp)
lw v0,-0x7550(gp)
addiu v0,v0,0x403c
sw v0,0x20(sp)
lw v0,-0x73f0(gp)
sw v0,0x28(sp)
li t5,-0x1
beq s0,t5,0x0006a0c4
_lw v0,-0x70dc(s1)
lw t9,0x20(sp)
or a2,zero,zero
or a1,zero,zero
jalr t9
_or a0,s0,zero
lw gp,0x10(sp)
beq v0,zero,0x0006a46c
_or s8,v0,zero
beq s2,t5,0x0006a1bc
_lw a1,0xc(v0)
li v0,0x1
beq a1,v0,0x0006a0c0
_lw a0,-0x76e4(gp)
sll v0,s2,0x2
lw a0,0x0(a0)
addu v0,a0,v0
lw v0,0x0(v0)
lw a0,0xc(v0)
li v0,0x1
beq a0,v0,0x0006a0c4
_lw v0,-0x70dc(s1)
lw v0,-0x7fb0(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069c98
_nop
lw v0,0x0(s7)
bne v0,zero,0x00069c98
_nop
lw v0,0x0(s3)
bne v0,zero,0x0006a238
_lw t9,-0x7d08(gp)
lw v0,-0x7d04(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a228
_lw t9,-0x7d00(gp)
lw v0,0x0(s3)
bne v0,zero,0x0006a1a8
_lw t9,-0x7d08(gp)
lw v0,0x0(s5)
beq v0,zero,0x00069cdc
_li v0,-0x1
lw v0,-0x73dc(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069cdc
_li v0,-0x1
lw v0,0x24(sp)
lw v0,0x0(v0)
beq v0,zero,0x00069cd8
_lw v1,0x28(sp)
beq v0,v1,0x0006a708
_lw a0,-0x73d4(gp)
li v0,-0x1
beq s0,v0,0x0006a24c
_li a0,0x1
lw a1,0xc(s8)
beq a1,a0,0x00069c04
_li t5,-0x1
beq s2,v0,0x0006a2b4
_lw a3,-0x76e4(gp)
sll s6,s2,0x2
lw v0,0x0(a3)
addu v0,v0,s6
lw a2,0x0(v0)
lw t0,0xc(a2)
beq t0,a0,0x00069c00
_nop
lw s0,-0x7fd8(gp)
lw s1,-0x73e8(gp)
lw a1,0x460(s0)
beq a1,s1,0x00069d68
_lw t9,-0x76d8(gp)
lw s6,-0x73ec(gp)
lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
lw gp,0x10(sp)
sw s1,0x460(s0)
sw zero,-0x70dc(s6)
li v0,-0x1
beq s2,v0,0x0006a558
_lw a3,-0x76e4(gp)
sll s6,s2,0x2
lw v0,0x0(a3)
addu v0,v0,s6
lw a2,0x0(v0)
lw t0,0xc(a2)
lw t9,-0x76d8(gp)
or a0,s2,zero
bal 0x00067960
_sw a3,0x1c(sp)
or a0,s2,zero
lw gp,0x10(sp)
lw t9,-0x7550(gp)
addiu t9,t9,0x41bc
bal 0x000641bc
_sw v0,0x2c(sp)
li a1,0x2
andi v0,v0,0x7f
lw gp,0x10(sp)
addiu a0,v0,0x1
lw a3,0x1c(sp)
seb a0,a0
sra a0,a0,0x1
slt a0,zero,a0
movz v0,zero,a0
or a0,v0,zero
lw v0,-0x73a4(gp)
beq t0,a1,0x0006a458
_sw a0,0x0(v0)
beq s8,zero,0x00069dec
_lw s3,-0x7ecc(gp)
lw v0,0x8(s8)
li v1,0x7f
andi a0,v0,0xff
beq a0,v1,0x0006a460
_ext v0,v0,0x8,0x8
lw v0,0x0(a3)
addu v0,v0,s6
lw a2,0x0(v0)
lw s3,-0x7ecc(gp)
lw v0,0x10(a2)
andi v0,v0,0x4
beq v0,zero,0x00069e1c
_lw v1,0x0(s3)
lw v0,-0x7e50(gp)
lw v0,0x0(v0)
bne v0,zero,0x00069e1c
_nop
andi v1,v1,0x11
beq v1,zero,0x0006a624
_lw v0,-0x7c94(gp)
lw v1,0x0(s3)
lw s3,-0x7fa8(gp)
lw v0,0x0(s3)
beq v0,zero,0x0006a3a0
_andi v0,v1,0x14
bne v1,zero,0x0006a544
_li a2,0x7f
lw v0,0x0(a3)
addu v0,v0,s6
lw a0,0x0(v0)
lw a1,0x4(a0)
b 0x00069e60
_or v1,a1,zero
beq v0,a2,0x00069e80
_lw t9,-0x7360(gp)
lw v1,0x0(v1)
beq a1,v1,0x0006a648
_lw v0,-0x7ee8(gp)
lw v0,0x8(v1)
andi s1,v0,0x7f
addiu s0,s1,0x1
seb s0,s0
sra s0,s0,0x1
blez s0,0x00069e4c
_andi v0,v0,0xff
lw t9,-0x7360(gp)
bal 0x00067868
_sw a3,0x1c(sp)
lw gp,0x10(sp)
lw v0,-0x7a50(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069ee4
_lw a3,0x1c(sp)
lw v0,-0x76e8(gp)
lw v0,0x2c(v0)
beq v0,s2,0x00069ec8
_lw t9,-0x7bbc(gp)
lw v0,0x0(a3)
addu v0,v0,s6
lw a0,0x0(v0)
lw v0,0x10(a0)
andi v0,v0,0x1
beq v0,zero,0x00069ef0
_nop
or a2,zero,zero
or a1,zero,zero
sw a3,0x1c(sp)
jalr t9
_or a0,zero,zero
lw gp,0x10(sp)
lw a3,0x1c(sp)
lw v0,0x0(a3)
addu v0,v0,s6
lw a0,0x0(v0)
lw v0,0x0(s7)
beq v0,zero,0x0006a008
_li v1,0x5
lw v0,0x10(a0)
andi v0,v0,0x5
bne v0,v1,0x0006a008
_nop
blez s0,0x0006a008
_li v0,0x2
bne s1,v0,0x0006a008
_lw t9,-0x7edc(gp)
li a0,0x2
bal 0x00089bd4
_sw a3,0x1c(sp)
lw gp,0x10(sp)
bne v0,zero,0x00069f68
_lw a3,0x1c(sp)
lw v0,-0x777c(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a714
_lw a1,-0x7d04(gp)
lw v0,-0x7ca8(gp)
lw v0,0x0(v0)
slti v0,v0,0x21
bne v0,zero,0x00069f6c
_lw t9,-0x7edc(gp)
lw v0,-0x7880(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a714
_nop
lw t9,-0x7edc(gp)
li a0,0x2
bal 0x00089bd4
_sw a3,0x1c(sp)
lw gp,0x10(sp)
beq v0,zero,0x00069f94
_lw a3,0x1c(sp)
lw v0,-0x777c(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a714
_lw a1,-0x7d04(gp)
lw v0,0x0(s3)
beq v0,zero,0x00069fd0
_lw s0,-0x6248(gp)
lw t9,-0x7edc(gp)
li a0,0x2
bal 0x00089bd4
_sw a3,0x1c(sp)
lw gp,0x10(sp)
bne v0,zero,0x00069fcc
_lw a3,0x1c(sp)
lw v0,-0x7814(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a714
_lw a1,-0x7d04(gp)
lw s0,-0x6248(gp)
li a0,0xa
lw t9,-0x62a4(gp)
sw a3,0x1c(sp)
jalr t9
_lw a1,0x0(s0)
lw gp,0x10(sp)
lw t9,-0x6020(gp)
jalr t9
_lw a0,0x0(s0)
lw gp,0x10(sp)
lw a3,0x1c(sp)
lw v0,0x0(a3)
addu s6,v0,s6
lw a0,0x0(s6)
lw v1,0xc(a0)
li v0,0x4
beq v1,v0,0x0006a510
_nop
lw t9,-0x7bb4(gp)
bal 0x00068f10
_nop
lw gp,0x10(sp)
lw t9,-0x602c(gp)
or a2,zero,zero
lw a1,0x34(sp)
jalr t9
_li a0,0x3
lw gp,0x10(sp)
lw v1,0x30(sp)
lw a0,0x144(sp)
lw v0,0x2c(sp)
lw v1,0x0(v1)
bne a0,v1,0x0006a734
_lw ra,0x16c(sp)
lw s8,0x168(sp)
lw s7,0x164(sp)
lw s6,0x160(sp)
lw s5,0x15c(sp)
lw s4,0x158(sp)
lw s3,0x154(sp)
lw s2,0x150(sp)
lw s1,0x14c(sp)
lw s0,0x148(sp)
jr ra
_addiu sp,sp,0x170
lw s3,-0x7d0c(gp)
lw v0,0x0(v0)
sw v0,0x2c(sp)
lw v0,0x0(s3)
beq v0,zero,0x00069b94
_lw s5,-0x73d8(gp)
lw t9,-0x7d08(gp)
lw a0,0x0(s3)
jalr t9
_nop
b 0x00069b90
_lw gp,0x10(sp)
li a0,0x1
bne a1,a0,0x00069c50
_or s2,t0,zero
lw v0,-0x70dc(s1)
li a1,0x1
lw t9,0x1c(sp)
li a0,0x1
sw a1,-0x7040(s4)
or s6,s1,zero
addiu v0,v0,0x1
jalr t9
_sw v0,-0x70dc(s1)
li a1,-0x1
lw a0,-0x70dc(s1)
lw gp,0x10(sp)
sw zero,-0x7040(s4)
addiu a0,a0,-0x1
bne v0,a1,0x00069c60
_sw a0,-0x70dc(s1)
lw t9,-0x6204(gp)
jalr t9
_nop
li a0,0xa
lw v0,0x0(v0)
bne v0,a0,0x00069c60
_lw gp,0x10(sp)
lw v0,0x24(sp)
lw v1,0x28(sp)
lw v0,0x0(v0)
beq v0,v1,0x0006a668
_nop
beq s8,zero,0x0006a140
_lw v0,-0x76e8(gp)
sw zero,0xc(s8)
sw zero,0x8(s8)
li a0,-0x1
beq s2,a0,0x0006a180
_sw zero,0x4(v0)
lw a3,-0x76e4(gp)
sll a2,s2,0x2
lw a1,0x8(v0)
lw a0,0x28(v0)
lw a3,0x0(a3)
addiu a1,a1,0x1
addiu a0,a0,0x1
addu a2,a3,a2
lw a2,0x0(a2)
sw a1,0x8(v0)
li a1,0x4
sw a1,0xc(a2)
sw a0,0x28(v0)
li v0,-0x1
bne s0,v0,0x00069c60
_nop
lw s0,-0x7fd8(gp)
lw s1,-0x73e8(gp)
lw a1,0x460(s0)
bne a1,s1,0x00069d30
_lw t9,-0x7cf8(gp)
b 0x00069d48
_nop
lw a0,0x0(s3)
jalr t9
_nop
b 0x00069ca4
_lw gp,0x10(sp)
lw v0,-0x76e8(gp)
lw t2,0x18(v0)
blez t2,0x0006a1ec
_lw v0,-0x76e4(gp)
or t0,zero,zero
lw a3,0x0(v0)
lw v0,0x0(a3)
bne v0,zero,0x0006a200
_nop
addiu t0,t0,0x1
bne t2,t0,0x0006a1d4
_addiu a3,a3,0x4
li v0,0x1
bne a1,v0,0x00069c60
_lw v0,-0x70dc(s1)
b 0x0006a0c8
_li a1,0x1
lw t1,0x4(v0)
or a0,t1,zero
lw a2,0x4(a0)
beq s0,a2,0x0006a0b4
_nop
lw a0,0x0(a0)
bne t1,a0,0x0006a208
_nop
b 0x0006a1e4
_addiu t0,t0,0x1
jalr t9
_nop
b 0x00069c98
_lw gp,0x10(sp)
lw a0,0x0(s3)
jalr t9
_nop
b 0x00069c88
_lw gp,0x10(sp)
lw s0,-0x7fd8(gp)
lw s1,-0x73e8(gp)
lw a1,0x460(s0)
beq a1,s1,0x0006a028
_lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
lw gp,0x10(sp)
sw s1,0x460(s0)
lw v0,-0x73ec(gp)
b 0x0006a028
_sw zero,-0x70dc(v0)
lw v0,0x0(s7)
bne v0,zero,0x00069b84
_lw s3,-0x7d0c(gp)
lw v0,0x0(s3)
bne v0,zero,0x0006a444
_lw t9,-0x7d08(gp)
lw v0,-0x7d04(gp)
lw v0,0x0(v0)
beq v0,zero,0x00069b84
_lw t9,-0x7d00(gp)
jalr t9
_nop
b 0x00069b84
_lw gp,0x10(sp)
lw s0,-0x7fd8(gp)
lw s1,-0x73e8(gp)
lw a1,0x460(s0)
beq a1,s1,0x0006a2e0
_lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
lw gp,0x10(sp)
sw s1,0x460(s0)
lw v0,-0x73ec(gp)
sw zero,-0x70dc(v0)
lw a1,0x8(s8)
andi v1,a1,0x7f
addiu v0,v1,0x1
seb v0,v0
sra v0,v0,0x1
bgtz v0,0x0006a504
_lw t9,-0x7550(gp)
addiu t9,t9,0x4cec
bal 0x00064cec
_or a0,a1,zero
or v1,zero,zero
lw gp,0x10(sp)
sw v0,0x2c(sp)
lw a2,-0x73a4(gp)
li a0,0x7f
andi v0,a1,0xff
bne v0,a0,0x0006a334
_sw v1,0x0(a2)
ext a1,a1,0x8,0x8
addiu v0,a1,0x80
sw v0,0x2c(sp)
lw v0,-0x7ecc(gp)
lw v1,-0x7e50(gp)
lw v0,0x0(v0)
lw v1,0x0(v1)
andi v0,v0,0x11
or v0,v0,v1
bne v0,zero,0x0006a02c
_lw t9,-0x602c(gp)
lw v0,-0x7c94(gp)
or a1,zero,zero
lw t9,-0x7c80(gp)
bal 0x00069244
_lw a0,0x0(v0)
b 0x0006a028
_lw gp,0x10(sp)
lw v0,-0x7fd8(gp)
li v1,0x1
lw s6,-0x73ec(gp)
lw v0,0x460(v0)
bne v0,v1,0x00069b68
_sw zero,-0x70dc(s6)
lw t9,-0x7cf8(gp)
li a1,0x1
jalr t9
_li a0,0x2
b 0x00069b68
_lw gp,0x10(sp)
beq v0,zero,0x0006a56c
_lw v0,0x38(sp)
lw v0,-0x70d4(v0)
beq v0,zero,0x00069ffc
_lw v0,0x3c(sp)
lw v0,-0x70d8(v0)
bne v0,zero,0x00069ffc
_lw t9,-0x7edc(gp)
li a0,0x2
bal 0x00089bd4
_sw a3,0x1c(sp)
lw gp,0x10(sp)
bne v0,zero,0x00069ffc
_lw a3,0x1c(sp)
lw t9,-0x602c(gp)
or a2,zero,zero
lw a1,0x34(sp)
li a0,0x3
jalr t9
_sw a3,0x1c(sp)
or a1,zero,zero
lw gp,0x10(sp)
lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
li v1,0x1
lw gp,0x10(sp)
lw a3,0x1c(sp)
beq v0,v1,0x0006a6cc
_sw v0,0x460(s0)
lw t9,-0x6134(gp)
jalr t9
_sw a3,0x1c(sp)
li a1,0x2
lw gp,0x10(sp)
lw t9,-0x6188(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
b 0x00069ffc
_lw a3,0x1c(sp)
lw a0,0x0(s3)
jalr t9
_nop
b 0x0006a294
_lw gp,0x10(sp)
lw v0,0x8(s8)
ext v0,v0,0x8,0x8
addiu v0,v0,0x80
b 0x00069ddc
_sw v0,0x2c(sp)
lw v0,-0x7c94(gp)
or a1,zero,zero
lw t9,-0x7c80(gp)
lw s1,-0x7fd8(gp)
lw s2,-0x73e8(gp)
bal 0x00069244
_lw a0,0x0(v0)
or a2,zero,zero
lw gp,0x10(sp)
li a0,0x3
lw t9,-0x602c(gp)
jalr t9
_lw a1,0x34(sp)
li a2,0x5
lw gp,0x10(sp)
or a0,zero,zero
lw a1,-0x7fc8(gp)
lw t9,-0x60a8(gp)
jalr t9
_addiu a1,a1,0x7cdc
or a1,s0,zero
lw gp,0x10(sp)
lw t9,-0x7d44(gp)
bal 0x0005faf8
_or a0,v0,zero
lw a1,0x460(s1)
beq a1,s2,0x0006a538
_lw gp,0x10(sp)
lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
li v0,0x7f
lw gp,0x10(sp)
sw v0,0x2c(sp)
sw s2,0x460(s1)
lw v0,-0x73ec(gp)
b 0x0006a040
_sw zero,-0x70dc(v0)
addiu v0,v1,0x80
b 0x0006a314
_sw v0,0x2c(sp)
lw v0,0x10(a0)
andi v0,v0,0x1
beq v0,zero,0x0006a01c
_lw t9,-0x7bb4(gp)
lw t9,-0x7550(gp)
addiu t9,t9,0x4d0c
bal 0x00064d0c
_or a0,s2,zero
b 0x0006a018
_lw gp,0x10(sp)
li v0,0x7f
b 0x0006a040
_sw v0,0x2c(sp)
andi v1,v1,0x14
beq v1,zero,0x00069ffc
_lw v0,0x38(sp)
b 0x0006a3ac
_lw v0,-0x70d4(v0)
bne s8,zero,0x0006a2e0
_lw v0,-0x73a4(gp)
sw zero,0x2c(sp)
b 0x0006a334
_sw zero,0x0(v0)
lw v0,0x0(a3)
addu v0,v0,s6
bne v1,zero,0x0006a008
_lw a0,0x0(v0)
lw t2,0x10(a0)
andi v0,t2,0x1
beq v0,zero,0x0006a01c
_lw t9,-0x7bb4(gp)
lw t0,0x4(a0)
li t1,0x7f
b 0x0006a5b0
_or a1,t0,zero
beq v1,t1,0x0006a5cc
_nop
lw a1,0x0(a1)
beq t0,a1,0x0006a5cc
_nop
lw v1,0x8(a1)
andi a2,v1,0x7f
addiu v0,a2,0x1
seb v0,v0
sra v0,v0,0x1
blez v0,0x0006a59c
_andi v1,v1,0xff
lw v1,0x0(s7)
beq v1,zero,0x0006a600
_andi t2,t2,0x4
beq t2,zero,0x0006a600
_nop
blez v0,0x0006a600
_li v0,0x2
bne a2,v0,0x0006a604
_lw v0,-0x7a50(gp)
lw v1,-0x7d04(gp)
lw v0,0x0(v1)
addiu v0,v0,0x1
sw v0,0x0(v1)
lw v0,-0x7a50(gp)
lw v0,0x0(v0)
bne v0,zero,0x0006a6a8
_li v0,0x4
lw v1,0xc(a0)
bne v1,v0,0x0006a018
_lw t9,-0x7550(gp)
b 0x0006a528
_addiu t9,t9,0x4d0c
or a1,zero,zero
lw t9,-0x7c80(gp)
sw a3,0x1c(sp)
bal 0x00069244
_lw a0,0x0(v0)
lw gp,0x10(sp)
lw a3,0x1c(sp)
b 0x00069e1c
_lw v1,0x0(s3)
lw v0,0x0(v0)
andi v0,v0,0x4000
bne v0,zero,0x00069ef0
_lw t9,-0x7d54(gp)
bal 0x000677bc
_sw a3,0x1c(sp)
b 0x00069ee0
_lw gp,0x10(sp)
lw s0,-0x7fd8(gp)
lw s2,-0x73e8(gp)
lw a1,0x460(s0)
beq a1,s2,0x0006a69c
_lw t9,-0x7cf8(gp)
jalr t9
_li a0,0x2
li v0,-0x1
lw gp,0x10(sp)
sw v0,0x2c(sp)
sw s2,0x460(s0)
b 0x0006a028
_sw zero,-0x70dc(s1)
li v0,-0x1
b 0x0006a028
_sw v0,0x2c(sp)
lw t9,-0x7bbc(gp)
or a2,zero,zero
or a1,zero,zero
sw a3,0x1c(sp)
jalr t9
_or a0,zero,zero
lw gp,0x10(sp)
b 0x00069ffc
_lw a3,0x1c(sp)
beq s1,v0,0x00069ffc
_lw t9,-0x7cf8(gp)
li a0,0x2
li a1,0x1
jalr t9
_sw a3,0x1c(sp)
lw a3,0x1c(sp)
lw gp,0x10(sp)
sw s1,0x460(s0)
lw v0,0x0(a3)
addu s6,v0,s6
lw v0,-0x73ec(gp)
lw a0,0x0(s6)
b 0x0006a008
_sw zero,-0x70dc(v0)
lw t9,-0x625c(gp)
jalr t9
_li a1,0x1
lw v1,0x0(a3)
lw v0,0x0(a1)
addu s6,v1,s6
addiu v0,v0,0x1
lw a0,0x0(s6)
sw v0,0x0(a1)
b 0x0006a00c
_lw v1,0xc(a0)
lw t9,-0x60b8(gp)
jalr t9
_nop
(translation_unit "undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}\n\n" (function_definition "undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" type_identifier (pointer_declarator "* wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" * (function_declarator "wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" identifier (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "int *piVar36;" primitive_type (pointer_declarator "*piVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "undefined *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "undefined *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar43;" primitive_type (pointer_declarator "*piVar43" * identifier) ;) (declaration "int *piVar44;" primitive_type (pointer_declarator "*piVar44" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int *piVar45;" primitive_type (pointer_declarator "*piVar45" * identifier) ;) (declaration "undefined4 uStack_7f4;" type_identifier identifier ;) (declaration "undefined1 auStack_7ec [128];" type_identifier (array_declarator "auStack_7ec [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_76c [128];" type_identifier (array_declarator "auStack_76c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_6ec;" primitive_type identifier ;) (declaration "undefined1 *puStack_6e8;" type_identifier (pointer_declarator "*puStack_6e8" * identifier) ;) (declaration "undefined1 *puStack_6e4;" type_identifier (pointer_declarator "*puStack_6e4" * identifier) ;) (declaration "undefined1 *puStack_6e0;" type_identifier (pointer_declarator "*puStack_6e0" * identifier) ;) (declaration "int *piStack_6dc;" primitive_type (pointer_declarator "*piStack_6dc" * identifier) ;) (declaration "int *piStack_6d8;" primitive_type (pointer_declarator "*piStack_6d8" * identifier) ;) (declaration "undefined4 *puStack_6d4;" type_identifier (pointer_declarator "*puStack_6d4" * identifier) ;) (declaration "int *piStack_6d0;" primitive_type (pointer_declarator "*piStack_6d0" * identifier) ;) (declaration "int iStack_6cc;" primitive_type identifier ;) (declaration "int *piStack_6c8;" primitive_type (pointer_declarator "*piStack_6c8" * identifier) ;) (declaration "code *pcStack_6c4;" type_identifier (pointer_declarator "*pcStack_6c4" * identifier) ;) (declaration "code *pcStack_6b0;" type_identifier (pointer_declarator "*pcStack_6b0" * identifier) ;) (declaration "code *pcStack_6a4;" type_identifier (pointer_declarator "*pcStack_6a4" * identifier) ;) (declaration "undefined1 auStack_69c [128];" type_identifier (array_declarator "auStack_69c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_61c [128];" type_identifier (array_declarator "auStack_61c [128]" identifier [ number_literal ]) ;) (declaration "int *piStack_59c;" primitive_type (pointer_declarator "*piStack_59c" * identifier) ;) (declaration "undefined1 *puStack_598;" type_identifier (pointer_declarator "*puStack_598" * identifier) ;) (declaration "undefined1 *puStack_594;" type_identifier (pointer_declarator "*puStack_594" * identifier) ;) (declaration "undefined1 *puStack_590;" type_identifier (pointer_declarator "*puStack_590" * identifier) ;) (declaration "undefined4 uStack_58c;" type_identifier identifier ;) (declaration "int *piStack_588;" primitive_type (pointer_declarator "*piStack_588" * identifier) ;) (declaration "int iStack_584;" primitive_type identifier ;) (declaration "int *piStack_580;" primitive_type (pointer_declarator "*piStack_580" * identifier) ;) (declaration "int *piStack_57c;" primitive_type (pointer_declarator "*piStack_57c" * identifier) ;) (declaration "int *piStack_578;" primitive_type (pointer_declarator "*piStack_578" * identifier) ;) (declaration "code *pcStack_574;" type_identifier (pointer_declarator "*pcStack_574" * identifier) ;) (declaration "code *pcStack_560;" type_identifier (pointer_declarator "*pcStack_560" * identifier) ;) (declaration "code *pcStack_554;" type_identifier (pointer_declarator "*pcStack_554" * identifier) ;) (declaration "int iStack_550;" primitive_type identifier ;) (declaration "int iStack_54c;" primitive_type identifier ;) (declaration "int *piStack_548;" primitive_type (pointer_declarator "*piStack_548" * identifier) ;) (declaration "code *pcStack_544;" type_identifier (pointer_declarator "*pcStack_544" * identifier) ;) (declaration "undefined1 auStack_53c [128];" type_identifier (array_declarator "auStack_53c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4bc [128];" type_identifier (array_declarator "auStack_4bc [128]" identifier [ number_literal ]) ;) (declaration "int iStack_43c;" primitive_type identifier ;) (declaration "int *piStack_438;" primitive_type (pointer_declarator "*piStack_438" * identifier) ;) (declaration "int iStack_434;" primitive_type identifier ;) (declaration "undefined1 *puStack_430;" type_identifier (pointer_declarator "*puStack_430" * identifier) ;) (declaration "int iStack_42c;" primitive_type identifier ;) (declaration "undefined1 *puStack_428;" type_identifier (pointer_declarator "*puStack_428" * identifier) ;) (declaration "int iStack_424;" primitive_type identifier ;) (declaration "int *piStack_420;" primitive_type (pointer_declarator "*piStack_420" * identifier) ;) (declaration "int *piStack_41c;" primitive_type (pointer_declarator "*piStack_41c" * identifier) ;) (declaration "int *piStack_418;" primitive_type (pointer_declarator "*piStack_418" * identifier) ;) (declaration "code *pcStack_414;" type_identifier (pointer_declarator "*pcStack_414" * identifier) ;) (declaration "code *pcStack_400;" type_identifier (pointer_declarator "*pcStack_400" * identifier) ;) (declaration "code *pcStack_3f4;" type_identifier (pointer_declarator "*pcStack_3f4" * identifier) ;) (declaration "int *piStack_3f0;" primitive_type (pointer_declarator "*piStack_3f0" * identifier) ;) (declaration "code *pcStack_3ec;" type_identifier (pointer_declarator "*pcStack_3ec" * identifier) ;) (declaration "undefined1 auStack_3e4 [128];" type_identifier (array_declarator "auStack_3e4 [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_364 [128];" type_identifier (array_declarator "auStack_364 [128]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_2e4;" type_identifier (pointer_declarator "*puStack_2e4" * identifier) ;) (declaration "undefined1 *puStack_2e0;" type_identifier (pointer_declarator "*puStack_2e0" * identifier) ;) (declaration "undefined1 *puStack_2dc;" type_identifier (pointer_declarator "*puStack_2dc" * identifier) ;) (declaration "uint uStack_2d8;" type_identifier identifier ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "undefined *puStack_2d0;" type_identifier (pointer_declarator "*puStack_2d0" * identifier) ;) (declaration "undefined1 *puStack_2cc;" type_identifier (pointer_declarator "*puStack_2cc" * identifier) ;) (declaration "int *piStack_2c8;" primitive_type (pointer_declarator "*piStack_2c8" * identifier) ;) (declaration "int *piStack_2c4;" primitive_type (pointer_declarator "*piStack_2c4" * identifier) ;) (declaration "int *piStack_2c0;" primitive_type (pointer_declarator "*piStack_2c0" * identifier) ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "undefined *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "undefined1 auStack_29c [128];" type_identifier (array_declarator "auStack_29c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_21c [128];" type_identifier (array_declarator "auStack_21c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "undefined *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "undefined *puStack_194;" type_identifier (pointer_declarator "*puStack_194" * identifier) ;) (declaration "undefined *puStack_190;" type_identifier (pointer_declarator "*puStack_190" * identifier) ;) (declaration "int *piStack_18c;" primitive_type (pointer_declarator "*piStack_18c" * identifier) ;) (declaration "undefined *puStack_188;" type_identifier (pointer_declarator "*puStack_188" * identifier) ;) (declaration "undefined *puStack_184;" type_identifier (pointer_declarator "*puStack_184" * identifier) ;) (declaration "int *piStack_180;" primitive_type (pointer_declarator "*piStack_180" * identifier) ;) (declaration "undefined *puStack_17c;" type_identifier (pointer_declarator "*puStack_17c" * identifier) ;) (declaration "int iStack_178;" primitive_type identifier ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined1 *local_144;" type_identifier (pointer_declarator "*local_144" * identifier) ;) (declaration "undefined auStack_12c [128];" type_identifier (array_declarator "auStack_12c [128]" identifier [ number_literal ]) ;) (declaration "undefined auStack_ac [128];" type_identifier (array_declarator "auStack_ac [128]" identifier [ number_literal ]) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar2 = PTR___environ_00145154;" (assignment_expression "puVar2 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "piVar43 = (int *)PTR_job_control_001448a8;" (assignment_expression "piVar43 = (int *)PTR_job_control_001448a8" identifier = (cast_expression "(int *)PTR_job_control_001448a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar40 = auStack_ac;" (assignment_expression "puVar40 = auStack_ac" identifier = identifier) ;) (expression_statement "puVar33 = auStack_12c;" (assignment_expression "puVar33 = auStack_12c" identifier = identifier) ;) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_001464dc" * (cast_expression "(uint *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar33);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar33)" (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 "(puVar33)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(puVar33,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(puVar33,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 "(puVar33,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar40);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar40)" (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 "(puVar40)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40)" (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,puVar33,puVar40)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x70d8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d8)" * (cast_expression "(undefined4 *)(puVar2 + -0x70d8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d8)" ( (binary_expression "puVar2 + -0x70d8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x70d4) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d4) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d4)" * (cast_expression "(undefined4 *)(puVar2 + -0x70d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" if (parenthesized_expression "((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0))" ( (binary_expression "(iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 4) != 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 4)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 4" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }" { (expression_statement "puVar33 = PTR_LAB_00144ff0 + 0x4a64;" (assignment_expression "puVar33 = PTR_LAB_00144ff0 + 0x4a64" identifier = (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal)) ;) (expression_statement "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);" (assignment_expression "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" identifier = (cast_expression "(undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,PTR_LAB_00144ff0 + 0x4a64)" ( number_literal , (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = (int *)PTR___environ_00145154;" (assignment_expression "unaff_s6 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" if (parenthesized_expression "(puVar6 == puVar33)" ( (binary_expression "puVar6 == puVar33" identifier == identifier) )) (compound_statement "{\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }" { (expression_statement "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);" (assignment_expression "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460)" identifier = (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" else (compound_statement "{\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" { (expression_statement "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;" (assignment_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc)" * (cast_expression "(undefined4 *)((int)unaff_s6 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + -0x70dc)" ( (binary_expression "(int)unaff_s6 + -0x70dc" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" if (parenthesized_expression "(puVar6 == (undefined *)0x1)" ( (binary_expression "puVar6 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) })) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" * (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) ))) )) (compound_statement "{\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" { (if_statement "if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" if (parenthesized_expression "(*(int *)PTR_terminating_signal_00144834 != 0)" ( (binary_expression "*(int *)PTR_terminating_signal_00144834 != 0" (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_terminating_signal_00144834)" ( (pointer_expression "*(undefined4 *)PTR_terminating_signal_00144834" * (cast_expression "(undefined4 *)PTR_terminating_signal_00144834" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "iVar5 = *piVar21;" (assignment_expression "iVar5 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) }) (else_clause "else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" else (compound_statement "{\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" { (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" * (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar5 = *(int *)PTR_terminating_signal_00144834;" (assignment_expression "iVar5 = *(int *)PTR_terminating_signal_00144834" identifier = (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (expression_statement "puVar3 = PTR_wait_intr_flag_00145168;" (assignment_expression "puVar3 = PTR_wait_intr_flag_00145168" identifier = identifier) ;) (expression_statement "puVar38 = PTR___environ_00145154;" (assignment_expression "puVar38 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar1 = PTR_wait_builtin_00145150;" (assignment_expression "puVar1 = PTR_wait_builtin_00145150" identifier = identifier) ;) (expression_statement "puVar6 = PTR_this_shell_builtin_00144a84;" (assignment_expression "puVar6 = PTR_this_shell_builtin_00144a84" identifier = identifier) ;) (if_statement "if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" if (parenthesized_expression "((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150))" ( (binary_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" (parenthesized_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0))" ( (binary_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" (parenthesized_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0))" ( (binary_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)" (parenthesized_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0)" ( (binary_expression "*(int *)PTR_wait_intr_flag_00145168 == 0" (pointer_expression "*(int *)PTR_wait_intr_flag_00145168" * (cast_expression "(int *)PTR_wait_intr_flag_00145168" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 == 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 == 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) || (parenthesized_expression "(*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" ( (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" ( (comma_expression "puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar35 = puVar40" identifier = identifier) , (comma_expression "puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar39 = puVar2" identifier = identifier) , (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier))) ))) )) (compound_statement "{\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "puVar35 = (undefined *)0xffffffff;" (assignment_expression "puVar35 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x7f78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x7f78)" ( (binary_expression "PTR_LAB_00144ff0 + 0x7f78" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x403c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x403c)" ( (binary_expression "PTR_LAB_00144ff0 + 0x403c" identifier + number_literal) )))) ;) (do_statement "do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);" do (compound_statement "{\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    }" { (do_statement "do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);" do (compound_statement "{\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      }" { (expression_statement "puVar33 = (undefined *)0xffffffff;" (assignment_expression "puVar33 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;) (expression_statement "puVar39 = puVar38;" (assignment_expression "puVar39 = puVar38" identifier = identifier) ;) (if_statement "if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (*pcVar8)(param_1,0,0);" (assignment_expression "unaff_s8 = (*pcVar8)(param_1,0,0)" identifier = (call_expression "(*pcVar8)(param_1,0,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(param_1,0,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "puVar10 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "puVar34 = PTR_data_start_00144568;" (assignment_expression "puVar34 = PTR_data_start_00144568" identifier = identifier) ;) (if_statement "if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);" (assignment_expression "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x7cdc,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x7cdc" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,param_1);" (call_expression "internal_error(uVar30,param_1)" identifier (argument_list "(uVar30,param_1)" ( identifier , identifier ))) ;) (expression_statement "puVar40 = *(undefined **)(puVar34 + 0x460);" (assignment_expression "puVar40 = *(undefined **)(puVar34 + 0x460)" identifier = (pointer_expression "*(undefined **)(puVar34 + 0x460)" * (cast_expression "(undefined **)(puVar34 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x460)" ( (binary_expression "puVar34 + 0x460" identifier + number_literal) ))))) ;) (if_statement "if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(puVar40 == puVar10)" ( (binary_expression "puVar40 == puVar10" identifier == identifier) )) (compound_statement "{\n            local_144 = (undefined1 *)0x7f;\n          }" { (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" else (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined **)(puVar34 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar34 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar34 + 0x460)" * (cast_expression "(undefined **)(puVar34 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x460)" ( (binary_expression "puVar34 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a040;" goto statement_identifier ;) })) (expression_statement "iVar20 = *(int *)(unaff_s8 + 0xc);" (assignment_expression "iVar20 = *(int *)(unaff_s8 + 0xc)" identifier = (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" if (parenthesized_expression "(puVar35 == puVar33)" ( (binary_expression "puVar35 == puVar33" identifier == identifier) )) (compound_statement "{\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }" { (if_statement "if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" if (parenthesized_expression "(0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18))" ( (binary_expression "0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)" number_literal < (cast_expression "(int)*(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" { (expression_statement "puVar33 = (undefined *)0x0;" (assignment_expression "puVar33 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(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))) ;) (do_statement "do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);" do (compound_statement "{\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            }" { (expression_statement "iVar9 = *param_4;" (assignment_expression "iVar9 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" { (expression_statement "piVar45 = *(int **)(iVar9 + 4);" (assignment_expression "piVar45 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);" do (compound_statement "{\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                }" { (if_statement "if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" if (parenthesized_expression "(param_1 == (undefined *)piVar45[1])" ( (binary_expression "param_1 == (undefined *)piVar45[1]" identifier == (cast_expression "(undefined *)piVar45[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar45[1]" identifier [ number_literal ]))) )) (compound_statement "{\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" { (if_statement "if (iVar20 == 1) goto LAB_0006a0c0;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00069c50;" goto statement_identifier ;) })) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar9 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar9 + 4) != piVar45" (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33)" ( (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 == 1) goto LAB_0006a0c8;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" else (compound_statement "{\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" { (expression_statement "puVar33 = puVar35;" (assignment_expression "puVar33 = puVar35" identifier = identifier) ;) (if_statement "if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }" { (labeled_statement "LAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" identifier = identifier) ;) }) (else_clause "else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" else (compound_statement "{\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" { (expression_statement "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (labeled_statement "LAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;" if (parenthesized_expression "(*(int *)(iVar9 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar9 + 0xc) != 1" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00069c60;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 1;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 1" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" * (cast_expression "(undefined4 *)(puVar38 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x7040)" ( (binary_expression "puVar38 + -0x7040" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(int *)(puVar38 + -0x70dc) = iVar5 + 1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = iVar5 + 1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (*pcVar7)(1);" (assignment_expression "iVar5 = (*pcVar7)(1)" identifier = (call_expression "(*pcVar7)(1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" * (cast_expression "(undefined4 *)(puVar38 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x7040)" ( (binary_expression "puVar38 + -0x7040" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s6 = (int *)puVar38;" (assignment_expression "unaff_s6 = (int *)puVar38" identifier = (cast_expression "(int *)puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" if (parenthesized_expression "((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10))" ( (binary_expression "(iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) && (parenthesized_expression "(piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" ( (comma_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0014633c)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0014633c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0014633c)" ( (pointer_expression "*(code *)PTR___errno_location_0014633c" * (cast_expression "(code *)PTR___errno_location_0014633c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (comma_expression "puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" identifier = identifier) , (comma_expression "puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar33 = PTR_js_00144e58" identifier = identifier) , (comma_expression "puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) , (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" * identifier) == number_literal))))) ))) )) (compound_statement "{\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" { (if_statement "if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" if (parenthesized_expression "(*(undefined **)puVar6 == puVar1)" ( (binary_expression "*(undefined **)puVar6 == puVar1" (pointer_expression "*(undefined **)puVar6" * (cast_expression "(undefined **)puVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == identifier) )) (compound_statement "{\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" { (expression_statement "puVar34 = puVar38;" (assignment_expression "puVar34 = puVar38" identifier = identifier) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n                local_144 = (undefined1 *)0xffffffff;\n              }" { (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" else (compound_statement "{\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar38 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x70dc)" * (cast_expression "(undefined4 *)(puVar38 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) (if_statement "if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" { (expression_statement "*(undefined4 *)(unaff_s8 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s8 + 8) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 8) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 8)" * (cast_expression "(undefined4 *)(unaff_s8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar33 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar33 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar33 + 4)" * (cast_expression "(undefined4 *)(puVar33 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 4)" ( (binary_expression "puVar33 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" if (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" ( (binary_expression "puVar35 != (undefined *)0xffffffff" identifier != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" { (expression_statement "iVar5 = *(int *)(puVar33 + 0x28);" (assignment_expression "iVar5 = *(int *)(puVar33 + 0x28)" identifier = (pointer_expression "*(int *)(puVar33 + 0x28)" * (cast_expression "(int *)(puVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x28)" ( (binary_expression "puVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(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 "iVar20 = param_4[(int)puVar35];" (assignment_expression "iVar20 = param_4[(int)puVar35]" identifier = (subscript_expression "param_4[(int)puVar35]" identifier [ (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;" (assignment_expression "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" * (cast_expression "(int *)(puVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 8)" ( (binary_expression "puVar33 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" * (cast_expression "(int *)(puVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 8)" ( (binary_expression "puVar33 + 8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar20 + 0xc) = 4;" (assignment_expression "*(undefined4 *)(iVar20 + 0xc) = 4" (pointer_expression "*(undefined4 *)(iVar20 + 0xc)" * (cast_expression "(undefined4 *)(iVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar33 + 0x28) = iVar5 + 1;" (assignment_expression "*(int *)(puVar33 + 0x28) = iVar5 + 1" (pointer_expression "*(int *)(puVar33 + 0x28)" * (cast_expression "(int *)(puVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x28)" ( (binary_expression "puVar33 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) })) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" { (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "piVar45 = (int *)puVar38;" (assignment_expression "piVar45 = (int *)puVar38" identifier = (cast_expression "(int *)puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00069d48;" goto statement_identifier ;)) (goto_statement "goto LAB_00069d30;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" statement_identifier : (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) ))) )) (compound_statement "{\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" { (if_statement "if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (if_statement "if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;" if (parenthesized_expression "((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1))" ( (binary_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)" (parenthesized_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0))" ( (binary_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" (parenthesized_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0))" ( (binary_expression "(*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)" (parenthesized_expression "(*(int *)puVar3 != 0)" ( (binary_expression "*(int *)puVar3 != 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 != 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 != 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) && (parenthesized_expression "(puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" ( (comma_expression "puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0" (assignment_expression "puVar10 = *(undefined **)puVar6" identifier = (pointer_expression "*(undefined **)puVar6" * (cast_expression "(undefined **)puVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) , (binary_expression "puVar10 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(puVar33 = puVar38, puVar10 == puVar1)" ( (comma_expression "puVar33 = puVar38, puVar10 == puVar1" (assignment_expression "puVar33 = puVar38" identifier = identifier) , (binary_expression "puVar10 == puVar1" identifier == identifier)) ))) )) (goto_statement "goto LAB_0006a708;" goto statement_identifier ;)) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" { (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) }) while (parenthesized_expression "(*(int *)(unaff_s8 + 0xc) == 1)" ( (binary_expression "*(int *)(unaff_s8 + 0xc) == 1" (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) == number_literal) )) ;) (if_statement "if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" if (parenthesized_expression "(puVar35 == (undefined *)0xffffffff)" ( (binary_expression "puVar35 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" { (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a2e0;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" identifier = (cast_expression "(int *)((int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar35 * 4)" ( (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) ;) (expression_statement "piVar45 = (int *)PTR___environ_00145154;" (assignment_expression "piVar45 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" { (labeled_statement "LAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;" statement_identifier : (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_144 = (undefined1 *)job_exit_status(puVar35);" (assignment_expression "local_144 = (undefined1 *)job_exit_status(puVar35)" identifier = (cast_expression "(undefined1 *)job_exit_status(puVar35)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "job_exit_status(puVar35)" identifier (argument_list "(puVar35)" ( identifier ))))) ;) (expression_statement "uVar11 = FUN_000641bc(puVar35);" (assignment_expression "uVar11 = FUN_000641bc(puVar35)" identifier = (call_expression "FUN_000641bc(puVar35)" identifier (argument_list "(puVar35)" ( identifier )))) ;) (expression_statement "uVar11 = uVar11 & 0x7f;" (assignment_expression "uVar11 = uVar11 & 0x7f" identifier = (binary_expression "uVar11 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        uVar11 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) })) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar33 = PTR_subshell_environment_00144674;" (assignment_expression "puVar33 = PTR_subshell_environment_00144674" identifier = identifier) ;) (if_statement "if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(iVar20 == 2)" ( (binary_expression "iVar20 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" statement_identifier : (expression_statement "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" identifier = (cast_expression "(undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uVar11 << 0x10) >> 0x18) + 0x80)" ( (binary_expression "((uVar11 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar11 << 0x10) >> 0x18)" ( (binary_expression "(uVar11 << 0x10) >> 0x18" (parenthesized_expression "(uVar11 << 0x10)" ( (binary_expression "uVar11 << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal) )))) ;)) (labeled_statement "LAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) }) (else_clause "else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" else (if_statement "if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;" if (parenthesized_expression "((uVar11 & 0xff) == 0x7f)" ( (binary_expression "(uVar11 & 0xff) == 0x7f" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006a460;" goto statement_identifier ;)) (goto_statement "goto LAB_00069ddc;" goto statement_identifier ;) })))) (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" if (parenthesized_expression "(((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))" ( (binary_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0)" (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" { (if_statement "if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" if (parenthesized_expression "((uVar11 & 0x11) == 0)" ( (binary_expression "(uVar11 & 0x11) == 0" (parenthesized_expression "(uVar11 & 0x11)" ( (binary_expression "uVar11 & 0x11" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar11 = *(uint *)puVar33;" (assignment_expression "uVar11 = *(uint *)puVar33" identifier = (pointer_expression "*(uint *)puVar33" * (cast_expression "(uint *)puVar33" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" else (compound_statement "{\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" { (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) })) (expression_statement "piVar21 = (int *)PTR_interactive_shell_00144598;" (assignment_expression "piVar21 = (int *)PTR_interactive_shell_00144598" identifier = (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" if (parenthesized_expression "(*(int *)PTR_interactive_shell_00144598 != 0)" ( (binary_expression "*(int *)PTR_interactive_shell_00144598 != 0" (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" { (if_statement "if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }" { (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);" do (compound_statement "{\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          }" { (expression_statement "puVar34 = (undefined *)(piVar45[2] & 0x7f);" (assignment_expression "puVar34 = (undefined *)(piVar45[2] & 0x7f)" identifier = (cast_expression "(undefined *)(piVar45[2] & 0x7f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar45[2] & 0x7f)" ( (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )))) ;) (expression_statement "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);" (assignment_expression "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" identifier = (cast_expression "(undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)((char)puVar34 + '\x01') >> 1)" ( (binary_expression "(int)(char)((char)puVar34 + '\x01') >> 1" (cast_expression "(int)(char)((char)puVar34 + '\x01')" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((char)puVar34 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)puVar34 + '\x01')" ( (binary_expression "(char)puVar34 + '\x01'" (cast_expression "(char)puVar34" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )))) >> number_literal) )))) ;) (if_statement "if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" if (parenthesized_expression "((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f))" ( (binary_expression "(0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "(0 < (int)puVar28)" ( (binary_expression "0 < (int)puVar28" number_literal < (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" ( (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" { (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 == 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 == 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;)) (if_statement "if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;" if (parenthesized_expression "((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35)" ( (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x2c)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x2c)" ( (binary_expression "PTR_js_00144e58 + 0x2c" identifier + number_literal) )))) != identifier) )) && (parenthesized_expression "(iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (comma_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00069ef0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;) })) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" if (parenthesized_expression "((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0)" ( (binary_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0" (parenthesized_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000)" ( (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0x4000" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) })) (labeled_statement "LAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" statement_identifier : (if_statement "if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" if (parenthesized_expression "((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2))" ( (binary_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)" (parenthesized_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1))" ( (binary_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)" (parenthesized_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5))" ( (binary_expression "(*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)" (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) || (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 5) != 5)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 5) != 5" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 5)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 5" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((int)puVar28 < 1)" ( (binary_expression "(int)puVar28 < 1" (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(puVar34 != (undefined *)0x2)" ( (binary_expression "puVar34 != (undefined *)0x2" identifier != (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;))) (expression_statement "iVar5 = signal_is_trapped(2);" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (if_statement "if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;" if (parenthesized_expression "((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))))" ( (binary_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" (parenthesized_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )))" ( (binary_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" (parenthesized_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))))" ( (binary_expression "(iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" ( (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (parenthesized_expression "((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" ( (parenthesized_expression "(0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))" ( (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)" (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898" number_literal < (pointer_expression "*(int *)PTR_shell_compatibility_level_00144898" * (cast_expression "(int *)PTR_shell_compatibility_level_00144898" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) && (parenthesized_expression "(*(int *)PTR_executing_list_00144cc0 != 0)" ( (binary_expression "*(int *)PTR_executing_list_00144cc0 != 0" (pointer_expression "*(int *)PTR_executing_list_00144cc0" * (cast_expression "(int *)PTR_executing_list_00144cc0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) )))) )) ))) )) || (parenthesized_expression "((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" ( (parenthesized_expression "(iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )" ( (comma_expression "iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (comma_expression "puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "puVar33 = PTR_stdout_001462f8" identifier = identifier) , (binary_expression "iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (binary_expression "iVar5 != 0" identifier != number_literal) && (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))))) )) ))) )) || (parenthesized_expression "(((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" ( (parenthesized_expression "((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))" ( (binary_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" (parenthesized_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)" (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "param_1 = puVar33" identifier = identifier) , (binary_expression "*(int *)PTR_sourcelevel_00144d2c != 0" (pointer_expression "*(int *)PTR_sourcelevel_00144d2c" * (cast_expression "(int *)PTR_sourcelevel_00144d2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal))) ))) )) ))) )) (goto_statement "goto LAB_0006a714;" goto statement_identifier ;)) (expression_statement "puVar28 = PTR_stdout_001462f8;" (assignment_expression "puVar28 = PTR_stdout_001462f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);" (call_expression "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8)" (parenthesized_expression "(*(code *)PTR_putc_0014629c)" ( (pointer_expression "*(code *)PTR_putc_0014629c" * (cast_expression "(code *)PTR_putc_0014629c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,*(undefined4 *)PTR_stdout_001462f8)" ( number_literal , (pointer_expression "*(undefined4 *)PTR_stdout_001462f8" * (cast_expression "(undefined4 *)PTR_stdout_001462f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);" (call_expression "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28)" (parenthesized_expression "(*(code *)PTR_fflush_00146520)" ( (pointer_expression "*(code *)PTR_fflush_00146520" * (cast_expression "(code *)PTR_fflush_00146520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar28)" ( (pointer_expression "*(undefined4 *)puVar28" * (cast_expression "(undefined4 *)puVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) }) (else_clause "else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" else (if_statement "if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" { (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar2 + -0x70d4)" * (cast_expression "(int *)(puVar2 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006a3ac;" goto statement_identifier ;) })))) (labeled_statement "LAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (labeled_statement "LAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);" statement_identifier : (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;)) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (goto_statement "goto LAB_0006a00c;" goto statement_identifier ;) })) (if_statement "if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" { (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar2 + -0x70d4)" * (cast_expression "(int *)(puVar2 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" statement_identifier : (if_statement "if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0))" ( (binary_expression "(iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar2 + -0x70d8) == 0)" ( (binary_expression "*(int *)(puVar2 + -0x70d8) == 0" (pointer_expression "*(int *)(puVar2 + -0x70d8)" * (cast_expression "(int *)(puVar2 + -0x70d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d8)" ( (binary_expression "puVar2 + -0x70d8" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" { (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);" (assignment_expression "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0)" identifier = (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,0)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,0)" ( number_literal , number_literal )))) ;) (expression_statement "*(int *)(puVar28 + 0x460) = iVar5;" (assignment_expression "*(int *)(puVar28 + 0x460) = iVar5" (pointer_expression "*(int *)(puVar28 + 0x460)" * (cast_expression "(int *)(puVar28 + 0x460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }" { (if_statement "if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" if (parenthesized_expression "(puVar34 != (undefined *)0x1)" ( (binary_expression "puVar34 != (undefined *)0x1" identifier != (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" else (compound_statement "{\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" { (expression_statement "uVar30 = (*(code *)PTR_getpid_0014640c)();" (assignment_expression "uVar30 = (*(code *)PTR_getpid_0014640c)()" identifier = (call_expression "(*(code *)PTR_getpid_0014640c)()" (parenthesized_expression "(*(code *)PTR_getpid_0014640c)" ( (pointer_expression "*(code *)PTR_getpid_0014640c" * (cast_expression "(code *)PTR_getpid_0014640c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_001463b8)(uVar30,2);" (call_expression "(*(code *)PTR_kill_001463b8)(uVar30,2)" (parenthesized_expression "(*(code *)PTR_kill_001463b8)" ( (pointer_expression "*(code *)PTR_kill_001463b8" * (cast_expression "(code *)PTR_kill_001463b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar30,2)" ( identifier , number_literal ))) ;) }))) }))) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (uVar11 != 0) goto LAB_0006a008;" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" if (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" { (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);" do (compound_statement "{\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        }" { (expression_statement "uVar11 = piVar45[2] & 0x7f;" (assignment_expression "uVar11 = piVar45[2] & 0x7f" identifier = (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "cVar15 = (char)((char)uVar11 + '\x01') >> 1;" (assignment_expression "cVar15 = (char)((char)uVar11 + '\x01') >> 1" identifier = (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal)) ;) (if_statement "if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;" if (parenthesized_expression "(('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f))" ( (binary_expression "('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "('\0' < cVar15)" ( (binary_expression "'\0' < cVar15" (char_literal "'\0'" ' escape_sequence ') < identifier) )) || (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" ( (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" if (parenthesized_expression "(((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2))))" ( (binary_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))" (parenthesized_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0))" ( (binary_expression "(*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)" (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(('\0' < cVar15 && (uVar11 == 2)))" ( (parenthesized_expression "('\0' < cVar15 && (uVar11 == 2))" ( (binary_expression "'\0' < cVar15 && (uVar11 == 2)" (binary_expression "'\0' < cVar15" (char_literal "'\0'" ' escape_sequence ') < identifier) && (parenthesized_expression "(uVar11 == 2)" ( (binary_expression "uVar11 == 2" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" { (expression_statement "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;" (assignment_expression "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (if_statement "if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 != 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 != 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" { (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;" if (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) != 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;)) (goto_statement "goto LAB_0006a528;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;) })) (labeled_statement "LAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;" statement_identifier : (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;)) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar45[-0x1c37] = 0;" (assignment_expression "piVar45[-0x1c37] = 0" (subscript_expression "piVar45[-0x1c37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = piVar45;" (assignment_expression "unaff_s6 = piVar45" identifier = identifier) ;) (labeled_statement "LAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" statement_identifier : (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" if (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" ( (binary_expression "puVar35 != (undefined *)0xffffffff" identifier != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" { (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" identifier = (cast_expression "(int *)((int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar35 * 4)" ( (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00069d68;" goto statement_identifier ;) }))) (if_statement "if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }" { (expression_statement "local_144 = (undefined1 *)0x0;" (assignment_expression "local_144 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;" (assignment_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0" (pointer_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(undefined4 *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }) (else_clause "else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" else (compound_statement "{\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" { (labeled_statement "LAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);" statement_identifier : (expression_statement "uVar19 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar19 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;)) (expression_statement "uVar11 = uVar19 & 0x7f;" (assignment_expression "uVar11 = uVar19 & 0x7f" identifier = (binary_expression "uVar19 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }" { (expression_statement "local_144 = (undefined1 *)FUN_00064cec(uVar19);" (assignment_expression "local_144 = (undefined1 *)FUN_00064cec(uVar19)" identifier = (cast_expression "(undefined1 *)FUN_00064cec(uVar19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00064cec(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" else (compound_statement "{\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" { (expression_statement "local_144 = (undefined1 *)(uVar11 + 0x80);" (assignment_expression "local_144 = (undefined1 *)(uVar11 + 0x80)" identifier = (cast_expression "(undefined1 *)(uVar11 + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x80)" ( (binary_expression "uVar11 + 0x80" identifier + number_literal) )))) ;) }))) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" if (parenthesized_expression "((uVar19 & 0xff) == 0x7f)" ( (binary_expression "(uVar19 & 0xff) == 0x7f" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" { (expression_statement "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" identifier = (cast_expression "(undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uVar19 << 0x10) >> 0x18) + 0x80)" ( (binary_expression "((uVar19 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar19 << 0x10) >> 0x18)" ( (binary_expression "(uVar19 << 0x10) >> 0x18" (parenthesized_expression "(uVar19 << 0x10)" ( (binary_expression "uVar19 << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal) )))) ;) })) }))) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) (if_statement "if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" if (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0" (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 0x11" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) && (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) })) }) (else_clause "else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" else (compound_statement "{\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" { (labeled_statement "LAB_0006a708:\n    puVar34 = puVar33;" statement_identifier : (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" identifier = identifier) ;)) (expression_statement "piVar45 = (int *)0x1;" (assignment_expression "piVar45 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);" (call_expression "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c)" (parenthesized_expression "(*(code *)PTR___longjmp_chk_001462e4)" ( (pointer_expression "*(code *)PTR___longjmp_chk_001462e4" * (cast_expression "(code *)PTR___longjmp_chk_001462e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_wait_intr_buf_0014516c)" ( identifier ))) ;) (labeled_statement "LAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*piVar45 = *piVar45 + 1;" (assignment_expression "*piVar45 = *piVar45 + 1" (pointer_expression "*piVar45" * identifier) = (binary_expression "*piVar45 + 1" (pointer_expression "*piVar45" * identifier) + number_literal)) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a00c:\n    puVar28 = param_1;" statement_identifier : (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" identifier = identifier) ;)) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" identifier = identifier) ;) (if_statement "if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" if (parenthesized_expression "((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0))" ( (binary_expression "(iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar20 == 4)" ( (binary_expression "iVar20 == 4" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" { (labeled_statement "LAB_0006a528:\n      FUN_00064d0c(puVar35);" statement_identifier : (expression_statement "FUN_00064d0c(puVar35);" (call_expression "FUN_00064d0c(puVar35)" identifier (argument_list "(puVar35)" ( identifier ))) ;)) (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" identifier = identifier) ;) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" identifier = identifier) ;) })) (labeled_statement "LAB_0006a01c:\n    notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) }))) (labeled_statement "LAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (labeled_statement "LAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" statement_identifier : (if_statement "if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" if (parenthesized_expression "(local_2c == *(uint *)puVar4)" ( (binary_expression "local_2c == *(uint *)puVar4" identifier == (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return local_144;\n  }" { (return_statement "return local_144;" return identifier ;) }))) (expression_statement "pcVar7 = wait_for_single_pid;" (assignment_expression "pcVar7 = wait_for_single_pid" identifier = identifier) ;) (expression_statement "uVar11 = local_2c;" (assignment_expression "uVar11 = local_2c" identifier = identifier) ;) (expression_statement "puVar33 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (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 "()" ( ))) ;) (expression_statement "puStack_2a8 = puVar33 + 0xe1e00;" (assignment_expression "puStack_2a8 = puVar33 + 0xe1e00" identifier = (binary_expression "puVar33 + 0xe1e00" identifier + number_literal)) ;) (expression_statement "piVar45 = *(int **)(puVar33 + 0xdbd9c);" (assignment_expression "piVar45 = *(int **)(puVar33 + 0xdbd9c)" identifier = (pointer_expression "*(int **)(puVar33 + 0xdbd9c)" * (cast_expression "(int **)(puVar33 + 0xdbd9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0xdbd9c)" ( (binary_expression "puVar33 + 0xdbd9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_17c = (undefined *)piVar43;" (assignment_expression "puStack_17c = (undefined *)piVar43" identifier = (cast_expression "(undefined *)piVar43" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_19c = *piVar45;" (assignment_expression "iStack_19c = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "puStack_198 = param_1;" (assignment_expression "puStack_198 = param_1" identifier = identifier) ;) (expression_statement "puStack_194 = puVar34;" (assignment_expression "puStack_194 = puVar34" identifier = identifier) ;) (expression_statement "puStack_190 = puVar10;" (assignment_expression "puStack_190 = puVar10" identifier = identifier) ;) (expression_statement "piStack_18c = piVar21;" (assignment_expression "piStack_18c = piVar21" identifier = identifier) ;) (expression_statement "puStack_188 = puVar38;" (assignment_expression "puStack_188 = puVar38" identifier = identifier) ;) (expression_statement "puStack_184 = puVar3;" (assignment_expression "puStack_184 = puVar3" identifier = identifier) ;) (expression_statement "piStack_180 = unaff_s6;" (assignment_expression "piStack_180 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_178 = unaff_s8;" (assignment_expression "iStack_178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar7;" (assignment_expression "pcStack_174 = pcVar7" identifier = identifier) ;) (expression_statement "(**(code **)(puVar33 + 0xdbb94))(auStack_29c);" (call_expression "(**(code **)(puVar33 + 0xdbb94))(auStack_29c)" (parenthesized_expression "(**(code **)(puVar33 + 0xdbb94))" ( (pointer_expression "**(code **)(puVar33 + 0xdbb94)" * (pointer_expression "*(code **)(puVar33 + 0xdbb94)" * (cast_expression "(code **)(puVar33 + 0xdbb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0xdbb94)" ( (binary_expression "puVar33 + 0xdbb94" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = FUN_0006403c(uVar11,0,0);" (assignment_expression "iVar5 = FUN_0006403c(uVar11,0,0)" identifier = (call_expression "FUN_0006403c(uVar11,0,0)" identifier (argument_list "(uVar11,0,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }" { (expression_statement "piVar21 = *(int **)(puStack_2a8 + -0x7408);" (assignment_expression "piVar21 = *(int **)(puStack_2a8 + -0x7408)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x7408)" * (cast_expression "(int **)(puStack_2a8 + -0x7408)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7408)" ( (binary_expression "puStack_2a8 + -0x7408" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *piVar21;" (assignment_expression "iVar20 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" if (parenthesized_expression "(((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0))" ( (binary_expression "((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)" (parenthesized_expression "((iVar20 != 0) && (piVar21[2] != 0))" ( (binary_expression "(iVar20 != 0) && (piVar21[2] != 0)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar21[2] != 0)" ( (binary_expression "piVar21[2] != 0" (subscript_expression "piVar21[2]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar21[3] != 0)" ( (binary_expression "piVar21[3] != 0" (subscript_expression "piVar21[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" { (expression_statement "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" identifier = (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4" (pointer_expression "*(int *)(puStack_2a8 + -0x7404)" * (cast_expression "(int *)(puStack_2a8 + -0x7404)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7404)" ( (binary_expression "puStack_2a8 + -0x7404" identifier + number_literal) )))) + (binary_expression "(uVar11 & 0xfff) * 4" (parenthesized_expression "(uVar11 & 0xfff)" ( (binary_expression "uVar11 & 0xfff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" { (expression_statement "piVar21 = (int *)(iVar20 + iVar9 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar9 * 0x10)" identifier = (cast_expression "(int *)(iVar20 + iVar9 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar9 * 0x10)" ( (binary_expression "iVar20 + iVar9 * 0x10" identifier + (binary_expression "iVar9 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" if (parenthesized_expression "(uVar11 == piVar21[2])" ( (binary_expression "uVar11 == piVar21[2]" identifier == (subscript_expression "piVar21[2]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }" { (labeled_statement "LAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" statement_identifier : (expression_statement "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" (assignment_expression "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3)" identifier = (cast_expression "(undefined1 *)(int)*(short *)(piVar21 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(piVar21 + 3)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(piVar21 + 3)" * (cast_expression "(short *)(piVar21 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 3)" ( (binary_expression "piVar21 + 3" identifier + number_literal) ))))))) ;)) (if_statement "if (-1 < (int)puVar12) goto LAB_0006a9b0;" if (parenthesized_expression "(-1 < (int)puVar12)" ( (binary_expression "-1 < (int)puVar12" number_literal < (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0006a9b0;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" else (compound_statement "{\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" { (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (while_statement "while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" while (parenthesized_expression "(iVar9 != iVar41)" ( (binary_expression "iVar9 != iVar41" identifier != identifier) )) (compound_statement "{\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" { (if_statement "if (iVar41 == -1) goto LAB_0006aae8;" if (parenthesized_expression "(iVar41 == -1)" ( (binary_expression "iVar41 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aae8;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)(iVar20 + iVar41 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar41 * 0x10)" identifier = (cast_expression "(int *)(iVar20 + iVar41 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar41 * 0x10)" ( (binary_expression "iVar20 + iVar41 * 0x10" identifier + (binary_expression "iVar41 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (uVar11 == piVar21[2]) goto LAB_0006aaf8;" if (parenthesized_expression "(uVar11 == piVar21[2])" ( (binary_expression "uVar11 == piVar21[2]" identifier == (subscript_expression "piVar21[2]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0006aaf8;" goto statement_identifier ;)) (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) })) (expression_statement "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);" (call_expression "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" identifier (argument_list "(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 32000" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }))) })) })) (labeled_statement "LAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);" statement_identifier : (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 1);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 1)" identifier = (cast_expression "(undefined *)((uint)puVar40 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar40 & 1)" ( (binary_expression "(uint)puVar40 & 1" (cast_expression "(uint)puVar40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;)) (if_statement "if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" if (parenthesized_expression "(puVar40 == (undefined *)0x0)" ( (binary_expression "puVar40 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n    }" { (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" else (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" { (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);" (assignment_expression "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" identifier = (call_expression "(**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x60a8))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x60a8)" * (pointer_expression "*(code **)(puStack_2a8 + -0x60a8)" * (cast_expression "(code **)(puStack_2a8 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60a8)" ( (binary_expression "puStack_2a8 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" ( number_literal , (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,uVar11);" (call_expression "internal_error(uVar30,uVar11)" identifier (argument_list "(uVar30,uVar11)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" else (compound_statement "{\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" { (expression_statement "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);" (assignment_expression "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x77a4)" * (cast_expression "(int **)(puStack_2a8 + -0x77a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x77a4)" ( (binary_expression "puStack_2a8 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 2);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 2)" identifier = (cast_expression "(undefined *)((uint)puVar40 & 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar40 & 2)" ( (binary_expression "(uint)puVar40 & 2" (cast_expression "(uint)puVar40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "piVar43 = (int *)0x7f;" (assignment_expression "piVar43 = (int *)0x7f" identifier = (cast_expression "(int *)0x7f" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" identifier = (cast_expression "(undefined1 *)wait_for(uVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))))) ;) (while_statement "while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" while (parenthesized_expression "(puVar40 != (undefined *)0x0)" ( (binary_expression "puVar40 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" { (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" if (parenthesized_expression "((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f'))" ( (binary_expression "(*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')" (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar5 + 0xc) != 1" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar5 + 0xb) != '\x7f')" ( (binary_expression "*(char *)(iVar5 + 0xb) != '\x7f'" (pointer_expression "*(char *)(iVar5 + 0xb)" * (cast_expression "(char *)(iVar5 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xb)" ( (binary_expression "iVar5 + 0xb" identifier + number_literal) )))) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" { (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))();" (call_expression "(**(code **)(puStack_2a8 + -0x602c))()" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" identifier = (cast_expression "(undefined1 *)wait_for(uVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))))) ;) })) (expression_statement "iVar5 = *(int *)(puStack_2a8 + -0x76e8);" (assignment_expression "iVar5 = *(int *)(puStack_2a8 + -0x76e8)" identifier = (pointer_expression "*(int *)(puStack_2a8 + -0x76e8)" * (cast_expression "(int *)(puStack_2a8 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x76e8)" ( (binary_expression "puStack_2a8 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)(iVar5 + 0x18))" ( (binary_expression "0 < *(int *)(iVar5 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);" (assignment_expression "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" identifier = (cast_expression "(int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_2a8 + -0x76e4)" * (pointer_expression "*(undefined4 **)(puStack_2a8 + -0x76e4)" * (cast_expression "(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x76e4)" ( (binary_expression "puStack_2a8 + -0x76e4" identifier + number_literal) ))))))) ;) (do_statement "do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));" do (compound_statement "{\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      }" { (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" { (expression_statement "piVar44 = *(int **)(iVar9 + 4);" (assignment_expression "piVar44 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = piVar44[1];" (assignment_expression "uVar19 = piVar44[1]" identifier = (subscript_expression "piVar44[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29 = piVar44;" (assignment_expression "piVar29 = piVar44" identifier = identifier) ;) (while_statement "while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" { (if_statement "if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" if (parenthesized_expression "(uVar11 == uVar19)" ( (binary_expression "uVar11 == uVar19" identifier == identifier) )) (compound_statement "{\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" { (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" if (parenthesized_expression "(*(int *)(iVar9 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar9 + 0xc) == 4" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" { (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (goto_statement "goto LAB_0006a950;" goto statement_identifier ;) })) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) (if_statement "if (piVar44 == piVar29) break;" if (parenthesized_expression "(piVar44 == piVar29)" ( (binary_expression "piVar44 == piVar29" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar19 = piVar29[1];" (assignment_expression "uVar19 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != *(int *)(iVar5 + 0x18))" ( (binary_expression "iVar20 != *(int *)(iVar5 + 0x18)" identifier != (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_21c,0);" (call_expression "(*pcVar7)(3,auStack_21c,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" if (parenthesized_expression "(**(int **)(puStack_2a8 + -0x7fb4) != 0)" ( (binary_expression "**(int **)(puStack_2a8 + -0x7fb4) != 0" (pointer_expression "**(int **)(puStack_2a8 + -0x7fb4)" * (pointer_expression "*(int **)(puStack_2a8 + -0x7fb4)" * (cast_expression "(int **)(puStack_2a8 + -0x7fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7fb4)" ( (binary_expression "puStack_2a8 + -0x7fb4" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" { (if_statement "if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }" if (parenthesized_expression "((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar5 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x18) != 0" (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(puStack_2a8 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(puStack_2a8 + -0x73ec)" * (cast_expression "(int *)(puStack_2a8 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x73ec)" ( (binary_expression "puStack_2a8 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        FUN_00068b60();\n      }" { (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000648c0(uVar11);" (call_expression "FUN_000648c0(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" statement_identifier : (if_statement "if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_19c == *piVar45)" ( (binary_expression "iStack_19c == *piVar45" identifier == (pointer_expression "*piVar45" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) }))) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x60b8)" * (cast_expression "(code **)(puStack_2a8 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60b8)" ( (binary_expression "puStack_2a8 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_background_pids;" (assignment_expression "pcVar8 = wait_for_background_pids" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_400 = pcVar7 + 0xe19dc;" (assignment_expression "pcStack_400 = pcVar7 + 0xe19dc" identifier = (binary_expression "pcVar7 + 0xe19dc" identifier + number_literal)) ;) (expression_statement "piStack_3f0 = *(int **)(pcVar7 + 0xdb978);" (assignment_expression "piStack_3f0 = *(int **)(pcVar7 + 0xdb978)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb978)" * (cast_expression "(int **)(pcVar7 + 0xdb978)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb978)" ( (binary_expression "pcVar7 + 0xdb978" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xda48c);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xda48c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) ))))) ;) (expression_statement "pcStack_3f4 = (code *)(iVar20 + 0x5a6c);" (assignment_expression "pcStack_3f4 = (code *)(iVar20 + 0x5a6c)" identifier = (cast_expression "(code *)(iVar20 + 0x5a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5a6c)" ( (binary_expression "iVar20 + 0x5a6c" identifier + number_literal) )))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a14);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a14)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a14)" * (cast_expression "(int *)(pcVar7 + 0xd9a14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a14)" ( (binary_expression "pcVar7 + 0xd9a14" identifier + number_literal) ))))) ;) (expression_statement "puStack_2e4 = (undefined1 *)*piStack_3f0;" (assignment_expression "puStack_2e4 = (undefined1 *)*piStack_3f0" identifier = (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier))) ;) (expression_statement "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);" (assignment_expression "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (binary_expression "*(int *)(pcVar7 + 0xda48c) + 0x4e60" (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xda2f4);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xda2f4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda2f4)" * (cast_expression "(int *)(pcVar7 + 0xda2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda2f4)" ( (binary_expression "pcVar7 + 0xda2f4" identifier + number_literal) ))))) ;) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xda2f8);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xda2f8)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xda2f8)" * (cast_expression "(int **)(pcVar7 + 0xda2f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda2f8)" ( (binary_expression "pcVar7 + 0xda2f8" identifier + number_literal) ))))) ;) (expression_statement "puStack_2e0 = auStack_29c;" (assignment_expression "puStack_2e0 = auStack_29c" identifier = identifier) ;) (expression_statement "puStack_2dc = auStack_21c;" (assignment_expression "puStack_2dc = auStack_21c" identifier = identifier) ;) (expression_statement "uStack_2d8 = uVar11;" (assignment_expression "uStack_2d8 = uVar11" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar5;" (assignment_expression "iStack_2d4 = iVar5" identifier = identifier) ;) (expression_statement "puStack_2d0 = puVar40;" (assignment_expression "puStack_2d0 = puVar40" identifier = identifier) ;) (expression_statement "puStack_2cc = puVar12;" (assignment_expression "puStack_2cc = puVar12" identifier = identifier) ;) (expression_statement "piStack_2c8 = unaff_s6;" (assignment_expression "piStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2c4 = piVar43;" (assignment_expression "piStack_2c4 = piVar43" identifier = identifier) ;) (expression_statement "piStack_2c0 = piVar45;" (assignment_expression "piStack_2c0 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar8;" (assignment_expression "pcStack_2bc = pcVar8" identifier = identifier) ;) (labeled_statement "LAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" do (compound_statement "{\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  }" { (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) (do_statement "do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));" do (compound_statement "{\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    }" { (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)(auStack_3e4);" (call_expression "(*pcVar7)(auStack_3e4)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(auStack_3e4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);" (call_expression "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_400 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_400 + -0x61dc)" * (cast_expression "(code **)(pcStack_400 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x61dc)" ( (binary_expression "pcStack_400 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_3e4,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x626c))(auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x626c))(auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x626c)" * (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_364)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_3e4,auStack_364)" ( number_literal , identifier , identifier ))) ;) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" identifier = (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" if (parenthesized_expression "(0 < (int)piVar45)" ( (binary_expression "0 < (int)piVar45" number_literal < (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" { (expression_statement "iVar20 = 2;" (assignment_expression "iVar20 = 2" identifier = number_literal) ;) (do_statement "do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);" do (compound_statement "{\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        }" { (expression_statement "piVar43 = (int *)((int)piVar29 * 4);" (assignment_expression "piVar43 = (int *)((int)piVar29 * 4)" identifier = (cast_expression "(int *)((int)piVar29 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 * 4)" ( (binary_expression "(int)piVar29 * 4" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*piVar21 + (int)piVar43);" (assignment_expression "iVar5 = *(int *)(*piVar21 + (int)piVar43)" identifier = (pointer_expression "*(int *)(*piVar21 + (int)piVar43)" * (cast_expression "(int *)(*piVar21 + (int)piVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + (int)piVar43)" ( (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" * identifier) + (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" { (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" if (parenthesized_expression "(iVar16 == 2)" ( (binary_expression "iVar16 == 2" identifier == number_literal) )) (compound_statement "{\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" { (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" identifier = (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar29)" ( identifier )))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));" (call_expression "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7354))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7354)" * (pointer_expression "*(code **)(pcStack_400 + -0x7354)" * (cast_expression "(code **)(pcStack_400 + -0x7354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7354)" ( (binary_expression "pcStack_400 + -0x7354" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" ( (binary_expression "iVar9 + 0x7d64" identifier + number_literal) , (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) ))) ;) (expression_statement "piVar43 = (int *)(*piVar21 + (int)piVar43);" (assignment_expression "piVar43 = (int *)(*piVar21 + (int)piVar43)" identifier = (cast_expression "(int *)(*piVar21 + (int)piVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + (int)piVar43)" ( (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" * identifier) + (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (iVar5 == 0) goto LAB_0006ac6c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006ac6c;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) })) (expression_statement "unaff_s6 = (int *)((int)piVar29 + 1);" (assignment_expression "unaff_s6 = (int *)((int)piVar29 + 1)" identifier = (cast_expression "(int *)((int)piVar29 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 + 1)" ( (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" if (parenthesized_expression "((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(iVar16 == 1)" ( (binary_expression "iVar16 == 1" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" { (if_statement "if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;" if (parenthesized_expression "(piVar29 != *(int **)(iVar41 + 0x18))" ( (binary_expression "piVar29 != *(int **)(iVar41 + 0x18)" identifier != (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006ac88;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006ad54;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);" statement_identifier : (expression_statement "piVar29 = (int *)((int)piVar29 + 1);" (assignment_expression "piVar29 = (int *)((int)piVar29 + 1)" identifier = (cast_expression "(int *)((int)piVar29 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 + 1)" ( (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" identifier = (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = piVar29;" (assignment_expression "unaff_s6 = piVar29" identifier = identifier) ;) }) while (parenthesized_expression "((int)piVar29 < (int)piVar45)" ( (binary_expression "(int)piVar29 < (int)piVar45" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" if (parenthesized_expression "(piVar29 == piVar45)" ( (binary_expression "piVar29 == piVar45" identifier == identifier) )) (compound_statement "{\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" { (labeled_statement "LAB_0006ad54:\n        puVar12 = auStack_364;" statement_identifier : (expression_statement "puVar12 = auStack_364;" (assignment_expression "puVar12 = auStack_364" identifier = identifier) ;)) (expression_statement "(*pcVar7)(3,auStack_364,0);" (call_expression "(*pcVar7)(3,auStack_364,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }" if (parenthesized_expression "((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1))" ( (binary_expression "(**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" ( (binary_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1" (pointer_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" * (cast_expression "(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) + 4" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          wait_for();\n        }" { (expression_statement "wait_for();" (call_expression "wait_for()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "wait_procsubs();" (call_expression "wait_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "reap_procsubs();" (call_expression "reap_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "FUN_00065adc();" (call_expression "FUN_00065adc()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }" if (parenthesized_expression "((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar41 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar41 + 0x18) != 0" (pointer_expression "*(int *)(iVar41 + 0x18)" * (cast_expression "(int *)(iVar41 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(pcStack_400 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(pcStack_400 + -0x73ec)" * (cast_expression "(int *)(pcStack_400 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_400 + -0x73ec)" ( (binary_expression "pcStack_400 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          FUN_00068b60();\n        }" { (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000645ac();" (call_expression "FUN_000645ac()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }" if (parenthesized_expression "(puStack_2e4 == (undefined1 *)*piStack_3f0)" ( (binary_expression "puStack_2e4 == (undefined1 *)*piStack_3f0" identifier == (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier))) )) (compound_statement "{\n          return (undefined1 *)*piStack_3f0;\n        }" { (return_statement "return (undefined1 *)*piStack_3f0;" return (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier)) ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x60b8)" * (cast_expression "(code **)(pcStack_400 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x60b8)" ( (binary_expression "pcStack_400 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_job;" (assignment_expression "pcVar8 = wait_for_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_560 = pcVar7 + 0xe1688;" (assignment_expression "pcStack_560 = pcVar7 + 0xe1688" identifier = (binary_expression "pcVar7 + 0xe1688" identifier + number_literal)) ;) (expression_statement "piStack_548 = *(int **)(pcVar7 + 0xdb624);" (assignment_expression "piStack_548 = *(int **)(pcVar7 + 0xdb624)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb624)" * (cast_expression "(int **)(pcVar7 + 0xdb624)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb624)" ( (binary_expression "pcVar7 + 0xdb624" identifier + number_literal) ))))) ;) (expression_statement "puVar31 = auStack_53c;" (assignment_expression "puVar31 = auStack_53c" identifier = identifier) ;) (expression_statement "piVar44 = (int *)(iVar5 * 4);" (assignment_expression "piVar44 = (int *)(iVar5 * 4)" identifier = (cast_expression "(int *)(iVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4)" ( (binary_expression "iVar5 * 4" identifier * number_literal) )))) ;) (expression_statement "iStack_43c = *piStack_548;" (assignment_expression "iStack_43c = *piStack_548" identifier = (pointer_expression "*piStack_548" * identifier)) ;) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9fa4);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9fa4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9fa4)" * (cast_expression "(int **)(pcVar7 + 0xd9fa4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9fa4)" ( (binary_expression "pcVar7 + 0xd9fa4" identifier + number_literal) ))))) ;) (expression_statement "piStack_438 = piVar29;" (assignment_expression "piStack_438 = piVar29" identifier = identifier) ;) (expression_statement "iStack_434 = iVar20;" (assignment_expression "iStack_434 = iVar20" identifier = identifier) ;) (expression_statement "puStack_430 = auStack_364;" (assignment_expression "puStack_430 = auStack_364" identifier = identifier) ;) (expression_statement "iStack_42c = iVar9 + 0x7d64;" (assignment_expression "iStack_42c = iVar9 + 0x7d64" identifier = (binary_expression "iVar9 + 0x7d64" identifier + number_literal)) ;) (expression_statement "puStack_428 = auStack_3e4;" (assignment_expression "puStack_428 = auStack_3e4" identifier = identifier) ;) (expression_statement "iStack_424 = iVar41;" (assignment_expression "iStack_424 = iVar41" identifier = identifier) ;) (expression_statement "piStack_420 = unaff_s6;" (assignment_expression "piStack_420 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_41c = piVar43;" (assignment_expression "piStack_41c = piVar43" identifier = identifier) ;) (expression_statement "piStack_418 = piVar21;" (assignment_expression "piStack_418 = piVar21" identifier = identifier) ;) (expression_statement "pcStack_414 = pcVar8;" (assignment_expression "pcStack_414 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb41c))(puVar31);" (call_expression "(**(code **)(pcVar7 + 0xdb41c))(puVar31)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb41c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb41c)" * (pointer_expression "*(code **)(pcVar7 + 0xdb41c)" * (cast_expression "(code **)(pcVar7 + 0xdb41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb41c)" ( (binary_expression "pcVar7 + 0xdb41c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2)" ( (binary_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2" (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" { (expression_statement "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);" (assignment_expression "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" identifier = (call_expression "(**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x60a8))" ( (pointer_expression "**(code **)(pcStack_560 + -0x60a8)" * (pointer_expression "*(code **)(pcStack_560 + -0x60a8)" * (cast_expression "(code **)(pcStack_560 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60a8)" ( (binary_expression "pcStack_560 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" ( number_literal , (binary_expression "*(int *)(pcStack_560 + -0x7fc8) + 0x7d78" (pointer_expression "*(int *)(pcStack_560 + -0x7fc8)" * (cast_expression "(int *)(pcStack_560 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7fc8)" ( (binary_expression "pcStack_560 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_warning(uVar30,iVar5 + 1);" (call_expression "internal_warning(uVar30,iVar5 + 1)" identifier (argument_list "(uVar30,iVar5 + 1)" ( identifier , (binary_expression "iVar5 + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcStack_554 = *(code **)(pcStack_560 + -0x77a4);" (assignment_expression "pcStack_554 = *(code **)(pcStack_560 + -0x77a4)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x77a4)" * (cast_expression "(code **)(pcStack_560 + -0x77a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x77a4)" ( (binary_expression "pcStack_560 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = (int *)0xffffffff;" (assignment_expression "piVar43 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar21 = (int *)((uint)puVar12 & 2);" (assignment_expression "piVar21 = (int *)((uint)puVar12 & 2)" identifier = (cast_expression "(int *)((uint)puVar12 & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar12 & 2)" ( (binary_expression "(uint)puVar12 & 2" (cast_expression "(uint)puVar12" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iStack_54c = *(int *)(pcStack_560 + -0x76e8);" (assignment_expression "iStack_54c = *(int *)(pcStack_560 + -0x76e8)" identifier = (pointer_expression "*(int *)(pcStack_560 + -0x76e8)" * (cast_expression "(int *)(pcStack_560 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x76e8)" ( (binary_expression "pcStack_560 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = FUN_00065a6c(iVar5);" (assignment_expression "iVar20 = FUN_00065a6c(iVar5)" identifier = (call_expression "FUN_00065a6c(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "piVar29 = *(int **)(iVar20 + 4);" (assignment_expression "piVar29 = *(int **)(iVar20 + 4)" identifier = (pointer_expression "*(int **)(iVar20 + 4)" * (cast_expression "(int **)(iVar20 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);" (assignment_expression "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (binary_expression "*(int *)(pcStack_560 + -0x7550) + 0x4e60" (pointer_expression "*(int *)(pcStack_560 + -0x7550)" * (cast_expression "(int *)(pcStack_560 + -0x7550)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7550)" ( (binary_expression "pcStack_560 + -0x7550" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0006afd8;" goto statement_identifier ;) })) (labeled_statement "LAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);" statement_identifier : (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" identifier = (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar29)" ( identifier )))) ;)) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d0c) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d0c) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" { (expression_statement "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));" (call_expression "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_400 + -0x7d08)" * (cast_expression "(code **)(pcStack_400 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d08)" ( (binary_expression "pcStack_400 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(**(int **)(pcStack_400 + -0x7d0c))" ( (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) ))) ;) })) (if_statement "if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d04) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d04) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d04)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d04)" * (cast_expression "(int **)(pcStack_400 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d04)" ( (binary_expression "pcStack_400 + -0x7d04" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -32000))();\n      }" { (expression_statement "(**(code **)(pcStack_400 + -32000))();" (call_expression "(**(code **)(pcStack_400 + -32000))()" (parenthesized_expression "(**(code **)(pcStack_400 + -32000))" ( (pointer_expression "**(code **)(pcStack_400 + -32000)" * (pointer_expression "*(code **)(pcStack_400 + -32000)" * (cast_expression "(code **)(pcStack_400 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -32000)" ( (binary_expression "pcStack_400 + -32000" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();" (assignment_expression "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_400 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_400 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_400 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_400 + -0x6204)" * (pointer_expression "*(code **)(pcStack_400 + -0x6204)" * (cast_expression "(code **)(pcStack_400 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x6204)" ( (binary_expression "pcStack_400 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*unaff_s6 = 0;" (assignment_expression "*unaff_s6 = 0" (pointer_expression "*unaff_s6" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for_single_pid(uVar30,1);" (assignment_expression "iVar5 = wait_for_single_pid(uVar30,1)" identifier = (call_expression "wait_for_single_pid(uVar30,1)" identifier (argument_list "(uVar30,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0))" ( (binary_expression "(*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0)" (parenthesized_expression "(*unaff_s6 != 10)" ( (binary_expression "*unaff_s6 != 10" (pointer_expression "*unaff_s6" * identifier) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar41 + 0x18) == 0)" ( (binary_expression "*(int *)(iVar41 + 0x18) == 0" (pointer_expression "*(int *)(iVar41 + 0x18)" * (cast_expression "(int *)(iVar41 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) ;) (expression_statement "(*pcStack_3ec)();" (call_expression "(*pcStack_3ec)()" (parenthesized_expression "(*pcStack_3ec)" ( (pointer_expression "*pcStack_3ec" * identifier) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);" statement_identifier : (expression_statement "puVar13 = (undefined1 *)job_exit_status(piVar45);" (assignment_expression "puVar13 = (undefined1 *)job_exit_status(piVar45)" identifier = (cast_expression "(undefined1 *)job_exit_status(piVar45)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "job_exit_status(piVar45)" identifier (argument_list "(piVar45)" ( identifier ))))) ;)) (if_statement "if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }" if (parenthesized_expression "(((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0))" ( (binary_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)" (parenthesized_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0))" ( (binary_expression "(piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" ( (comma_expression "FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0" (call_expression "FUN_00065dcc()" identifier (argument_list "()" ( ))) , (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" * (cast_expression "(int *)(iVar20 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x705c)" ( (binary_expression "iVar20 + -0x705c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_00066b6c(piVar45,0);\n  }" { (expression_statement "FUN_00066b6c(piVar45,0);" (call_expression "FUN_00066b6c(piVar45,0)" identifier (argument_list "(piVar45,0)" ( identifier , number_literal ))) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x737c))();" (call_expression "(**(code **)(pcStack_6b0 + -0x737c))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x737c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x737c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x737c)" * (cast_expression "(code **)(pcStack_6b0 + -0x737c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x737c)" ( (binary_expression "pcStack_6b0 + -0x737c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) (while_statement "while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" { (expression_statement "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);" (assignment_expression "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc)" ( number_literal , identifier ))) ;) (if_statement "if (iStack_550 == 4) break;" if (parenthesized_expression "(iStack_550 == 4)" ( (binary_expression "iStack_550 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" statement_identifier : (expression_statement "puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" (assignment_expression "puVar12 = (undefined1 *)(*pcStack_554)(piVar29)" identifier = (cast_expression "(undefined1 *)(*pcStack_554)(piVar29)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_554)(piVar29)" (parenthesized_expression "(*pcStack_554)" ( (pointer_expression "*pcStack_554" * identifier) )) (argument_list "(piVar29)" ( identifier ))))) ;)) (if_statement "if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" if (parenthesized_expression "(((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0))" ( (binary_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)" (parenthesized_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10))" ( (binary_expression "(puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" (parenthesized_expression "(puVar12 == (undefined1 *)0xffffffff)" ( (binary_expression "puVar12 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" ( (comma_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10" (assignment_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_560 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_560 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_560 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_560 + -0x6204)" * (pointer_expression "*(code **)(pcStack_560 + -0x6204)" * (cast_expression "(code **)(pcStack_560 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x6204)" ( (binary_expression "pcStack_560 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "*piVar26 == 10" (pointer_expression "*piVar26" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iStack_54c + 0x18) != 0)" ( (binary_expression "*(int *)(iStack_54c + 0x18) != 0" (pointer_expression "*(int *)(iStack_54c + 0x18)" * (cast_expression "(int *)(iStack_54c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_54c + 0x18)" ( (binary_expression "iStack_54c + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "(*pcStack_544)();" (call_expression "(*pcStack_544)()" (parenthesized_expression "(*pcStack_544)" ( (pointer_expression "*pcStack_544" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" else (compound_statement "{\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }))) (if_statement "if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" if (parenthesized_expression "(piVar21 == (int *)0x0)" ( (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" { (expression_statement "(*pcVar7)(puVar31);" (call_expression "(*pcVar7)(puVar31)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006b0d0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006b0d0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b0f4;" goto statement_identifier ;) })) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_0006b0f0;" goto statement_identifier ;) })) (if_statement "if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" if (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) == 0)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) == 0" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);" statement_identifier : (expression_statement "piVar44 = (int *)(*piVar45 + (int)piVar44);" (assignment_expression "piVar44 = (int *)(*piVar45 + (int)piVar44)" identifier = (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar20 = *piVar44;" (assignment_expression "iVar20 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) ;) (if_statement "if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" if (parenthesized_expression "((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4))" ( (binary_expression "(iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar20 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar20 + 0xc) == 4" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" { (expression_statement "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (labeled_statement "LAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_4bc,0);" (call_expression "(*pcVar7)(3,auStack_4bc,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_43c == *piStack_548)" ( (binary_expression "iStack_43c == *piStack_548" identifier == (pointer_expression "*piStack_548" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x60b8)" * (cast_expression "(code **)(pcStack_560 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60b8)" ( (binary_expression "pcStack_560 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_any_job;" (assignment_expression "pcVar8 = wait_for_any_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_6b0 = pcVar7 + 0xe1290;" (assignment_expression "pcStack_6b0 = pcVar7 + 0xe1290" identifier = (binary_expression "pcVar7 + 0xe1290" identifier + number_literal)) ;) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xd9ea4);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xd9ea4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9ea4)" * (cast_expression "(int *)(pcVar7 + 0xd9ea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9ea4)" ( (binary_expression "pcVar7 + 0xd9ea4" identifier + number_literal) ))))) ;) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xdb22c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xdb22c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb22c)" ( (binary_expression "pcVar7 + 0xdb22c" identifier + number_literal) ))))) ;) (expression_statement "uStack_58c = 0xffffffff;" (assignment_expression "uStack_58c = 0xffffffff" identifier = number_literal) ;) (expression_statement "piStack_59c = (int *)*puVar42;" (assignment_expression "piStack_59c = (int *)*puVar42" identifier = (cast_expression "(int *)*puVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar42" * identifier))) ;) (expression_statement "puStack_598 = puVar31;" (assignment_expression "puStack_598 = puVar31" identifier = identifier) ;) (expression_statement "puStack_594 = auStack_4bc;" (assignment_expression "puStack_594 = auStack_4bc" identifier = identifier) ;) (expression_statement "puStack_590 = puVar12;" (assignment_expression "puStack_590 = puVar12" identifier = identifier) ;) (expression_statement "piStack_588 = piVar21;" (assignment_expression "piStack_588 = piVar21" identifier = identifier) ;) (expression_statement "iStack_584 = iVar5;" (assignment_expression "iStack_584 = iVar5" identifier = identifier) ;) (expression_statement "piStack_580 = piVar29;" (assignment_expression "piStack_580 = piVar29" identifier = identifier) ;) (expression_statement "piStack_57c = piVar44;" (assignment_expression "piStack_57c = piVar44" identifier = identifier) ;) (expression_statement "piStack_578 = piVar45;" (assignment_expression "piStack_578 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_574 = pcVar8;" (assignment_expression "pcStack_574 = pcVar8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" * (cast_expression "(int *)(iVar20 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x705c)" ( (binary_expression "iVar20 + -0x705c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" { (expression_statement "puVar13 = auStack_69c;" (assignment_expression "puVar13 = auStack_69c" identifier = identifier) ;) (expression_statement "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);" (assignment_expression "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8)" identifier = (pointer_expression "*(undefined1 **)(pcVar7 + 0xd9ba8)" * (cast_expression "(undefined1 **)(pcVar7 + 0xd9ba8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9ba8)" ( (binary_expression "pcVar7 + 0xd9ba8" identifier + number_literal) ))))) ;) (expression_statement "puVar31 = auStack_61c;" (assignment_expression "puVar31 = auStack_61c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb024))(puVar13);" (call_expression "(**(code **)(pcVar7 + 0xdb024))(puVar13)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb024))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb024)" * (pointer_expression "*(code **)(pcVar7 + 0xdb024)" * (cast_expression "(code **)(pcVar7 + 0xdb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb024)" ( (binary_expression "pcVar7 + 0xdb024" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" if (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" ( (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" number_literal < (cast_expression "(int)*(int **)(puVar12 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" { (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4)" identifier = (cast_expression "(int *)**(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_6b0 + -0x76e4)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))))) ;) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" identifier = identifier) ;) (do_statement "do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));" do (compound_statement "{\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      }" { (expression_statement "iVar5 = *piVar44;" (assignment_expression "iVar5 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) ;) (if_statement "if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4))" ( (binary_expression "(iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar5 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) == 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" identifier = (cast_expression "(int *)((int)piVar45 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar45 + 1)" ( (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar45 != *(int **)(puVar12 + 0x18))" ( (binary_expression "piVar45 != *(int **)(puVar12 + 0x18)" identifier != (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "piVar21 = *(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar21 = *(int **)(pcStack_6b0 + -0x76e4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);" (assignment_expression "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d0c)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d0c)" ( (binary_expression "pcStack_6b0 + -0x7d0c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "piVar45 = *(int **)(pcStack_6b0 + -0x7550);" (assignment_expression "piVar45 = *(int **)(pcStack_6b0 + -0x7550)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7550)" * (cast_expression "(int **)(pcStack_6b0 + -0x7550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7550)" ( (binary_expression "pcStack_6b0 + -0x7550" identifier + number_literal) ))))) ;) (expression_statement "piVar29 = *(int **)(pcStack_6b0 + -0x7d04);" (assignment_expression "piVar29 = *(int **)(pcStack_6b0 + -0x7d04)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d04)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d04)" ( (binary_expression "pcStack_6b0 + -0x7d04" identifier + number_literal) ))))) ;) (expression_statement "pcStack_6a4 = (code *)(piVar45 + 0x1398);" (assignment_expression "pcStack_6a4 = (code *)(piVar45 + 0x1398)" identifier = (cast_expression "(code *)(piVar45 + 0x1398)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar45 + 0x1398)" ( (binary_expression "piVar45 + 0x1398" identifier + number_literal) )))) ;) (do_statement "do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );" do (compound_statement "{\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar13);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *(int *)(puVar12 + 0x18);" (assignment_expression "iVar5 = *(int *)(puVar12 + 0x18)" identifier = (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" if (parenthesized_expression "(iVar5 < 1)" ( (binary_expression "iVar5 < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" { (labeled_statement "LAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" statement_identifier : (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) })) }) (else_clause "else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" else (compound_statement "{\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" { (expression_statement "piVar44 = (int *)*piVar21;" (assignment_expression "piVar44 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (while_statement "while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" while (parenthesized_expression "(((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)))" ( (parenthesized_expression "((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))" ( (binary_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1))" ( (comma_expression "iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (assignment_expression "iVar41 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) , (binary_expression "iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (binary_expression "iVar41 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar41 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar41 + 0xc) != 1" (pointer_expression "*(int *)(iVar41 + 0xc)" * (cast_expression "(int *)(iVar41 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0xc)" ( (binary_expression "iVar41 + 0xc" identifier + number_literal) )))) != number_literal) )))) )) || (parenthesized_expression "((*(uint *)(iVar41 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar41 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar41 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar41 + 0x10) & 1" (pointer_expression "*(uint *)(iVar41 + 0x10)" * (cast_expression "(uint *)(iVar41 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x10)" ( (binary_expression "iVar41 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 == iVar5) goto LAB_0006b680;" if (parenthesized_expression "(iVar9 == iVar5)" ( (binary_expression "iVar9 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006b680;" goto statement_identifier ;)) })) (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar7)(3,puVar31,0);" (call_expression "(*pcVar7)(3,puVar31,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" if (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (if_statement "if (*piVar29 == 0) goto LAB_0006b564;" if (parenthesized_expression "(*piVar29 == 0)" ( (binary_expression "*piVar29 == 0" (pointer_expression "*piVar29" * identifier) == number_literal) )) (goto_statement "goto LAB_0006b564;" goto statement_identifier ;)) (labeled_statement "LAB_0006b6f0:\n        (*pcVar7)();" statement_identifier : (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;)) (if_statement "if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b708;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);" (call_expression "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(*piVar43)" ( (pointer_expression "*piVar43" * identifier) ))) ;) (if_statement "if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" if (parenthesized_expression "(*piVar29 != 0)" ( (binary_expression "*piVar29 != 0" (pointer_expression "*piVar29" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b6f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (compound_statement "{\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" { (labeled_statement "LAB_0006b708:\n          (*pcVar7)(*piVar43);" statement_identifier : (expression_statement "(*pcVar7)(*piVar43);" (call_expression "(*pcVar7)(*piVar43)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(*piVar43)" ( (pointer_expression "*piVar43" * identifier) ))) ;)) })) }))) (if_statement "if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73d8) == 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73d8) == 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73d8)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73d8)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d8)" ( (binary_expression "pcStack_6b0 + -0x73d8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }" { (labeled_statement "LAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" else (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73dc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73dc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73dc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73dc)" * (cast_expression "(int **)(pcStack_6b0 + -0x73dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73dc)" ( (binary_expression "pcStack_6b0 + -0x73dc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" { (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" { (expression_statement "piVar44 = *(int **)(pcStack_6b0 + -0x73d4);" (assignment_expression "piVar44 = *(int **)(pcStack_6b0 + -0x73d4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x73d4)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d4)" ( (binary_expression "pcStack_6b0 + -0x73d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0)" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != (pointer_expression "*(int *)(pcStack_6b0 + -0x73f0)" * (cast_expression "(int *)(pcStack_6b0 + -0x73f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_6b0 + -0x73f0)" ( (binary_expression "pcStack_6b0 + -0x73f0" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006b5a4;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b730;" goto statement_identifier ;) })) })) }))) (expression_statement "piVar45 = (int *)(*pcVar7)();" (assignment_expression "piVar45 = (int *)(*pcVar7)()" identifier = (cast_expression "(int *)(*pcVar7)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar45 = 0;" (assignment_expression "*piVar45 = 0" (pointer_expression "*piVar45" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for(0xffffffff);" (assignment_expression "iVar5 = wait_for(0xffffffff)" identifier = (call_expression "wait_for(0xffffffff)" identifier (argument_list "(0xffffffff)" ( number_literal )))) ;) (if_statement "if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;) (if_statement "if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" if (parenthesized_expression "((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0))" ( (binary_expression "(*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(*piVar45 == 10)" ( (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" * identifier) == number_literal) )) && (parenthesized_expression "(*(int *)(puVar12 + 0x18) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" { (expression_statement "(*pcStack_6a4)();" (call_expression "(*pcStack_6a4)()" (parenthesized_expression "(*pcStack_6a4)" ( (pointer_expression "*pcStack_6a4" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0006b5d4;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" else (compound_statement "{\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" { (labeled_statement "LAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;)) }))) (expression_statement "(*pcVar7)(puVar13);" (call_expression "(*pcVar7)(puVar13)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" if (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" ( (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" number_literal < (cast_expression "(int)*(int **)(puVar12 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" { (expression_statement "piVar26 = (int *)*piVar21;" (assignment_expression "piVar26 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" identifier = identifier) ;) (do_statement "do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);" do (compound_statement "{\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        }" { (if_statement "if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;" if (parenthesized_expression "((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4))" ( (binary_expression "(*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)" (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) && (parenthesized_expression "(*(int *)(*piVar44 + 0xc) == 4)" ( (binary_expression "*(int *)(*piVar44 + 0xc) == 4" (pointer_expression "*(int *)(*piVar44 + 0xc)" * (cast_expression "(int *)(*piVar44 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0xc)" ( (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" * identifier) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" identifier = (cast_expression "(int *)((int)piVar45 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar45 + 1)" ( (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(puVar12 + 0x18) != piVar45)" ( (binary_expression "*(int **)(puVar12 + 0x18) != piVar45" (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006b430:\n  pcVar7 = pcStack_6b0;" statement_identifier : (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;)) (if_statement "if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }" if (parenthesized_expression "(piStack_59c == (int *)*puVar42)" ( (binary_expression "piStack_59c == (int *)*puVar42" identifier == (cast_expression "(int *)*puVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar42" * identifier))) )) (compound_statement "{\n    return puVar13;\n  }" { (return_statement "return puVar13;" return identifier ;) })) (expression_statement "piVar44 = piStack_59c;" (assignment_expression "piVar44 = piStack_59c" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x60b8))();" (call_expression "(**(code **)(pcStack_6b0 + -0x60b8))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x60b8))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x60b8)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x60b8)" * (cast_expression "(code **)(pcStack_6b0 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x60b8)" ( (binary_expression "pcStack_6b0 + -0x60b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x625c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x625c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x625c)" * (cast_expression "(code **)(pcVar7 + -0x625c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x625c)" ( (binary_expression "pcVar7 + -0x625c" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = start_job;" (assignment_expression "pcVar8 = start_job" identifier = identifier) ;) (expression_statement "puVar22 = (undefined4 *)0x1;" (assignment_expression "puVar22 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar26 = *(int **)(pcVar7 + 0xdada0);" (assignment_expression "piVar26 = *(int **)(pcVar7 + 0xdada0)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdada0)" * (cast_expression "(int **)(pcVar7 + 0xdada0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdada0)" ( (binary_expression "pcVar7 + 0xdada0" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (int)piVar44 * 4;" (assignment_expression "iVar5 = (int)piVar44 * 4" identifier = (binary_expression "(int)piVar44 * 4" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "iStack_6ec = *piVar26;" (assignment_expression "iStack_6ec = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd9720);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd9720)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9720)" * (cast_expression "(int **)(pcVar7 + 0xd9720)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9720)" ( (binary_expression "pcVar7 + 0xd9720" identifier + number_literal) ))))) ;) (expression_statement "puStack_6e8 = puVar31;" (assignment_expression "puStack_6e8 = puVar31" identifier = identifier) ;) (expression_statement "puStack_6e4 = puVar13;" (assignment_expression "puStack_6e4 = puVar13" identifier = identifier) ;) (expression_statement "puStack_6e0 = puVar12;" (assignment_expression "puStack_6e0 = puVar12" identifier = identifier) ;) (expression_statement "piStack_6dc = piVar43;" (assignment_expression "piStack_6dc = piVar43" identifier = identifier) ;) (expression_statement "piStack_6d8 = piVar21;" (assignment_expression "piStack_6d8 = piVar21" identifier = identifier) ;) (expression_statement "puStack_6d4 = puVar42;" (assignment_expression "puStack_6d4 = puVar42" identifier = identifier) ;) (expression_statement "piStack_6d0 = piVar29;" (assignment_expression "piStack_6d0 = piVar29" identifier = identifier) ;) (expression_statement "iStack_6cc = iVar20;" (assignment_expression "iStack_6cc = iVar20" identifier = identifier) ;) (expression_statement "piStack_6c8 = piVar45;" (assignment_expression "piStack_6c8 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_6c4 = pcVar8;" (assignment_expression "pcStack_6c4 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);" (call_expression "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac28))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac28)" * (pointer_expression "*(code **)(pcVar7 + 0xdac28)" * (cast_expression "(code **)(pcVar7 + 0xdac28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac28)" ( (binary_expression "pcVar7 + 0xdac28" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_76c)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(1,auStack_7ec,auStack_76c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);" (assignment_expression "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0xc)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0xc" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) ))))) ;) (if_statement "if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(iVar20 == 4)" ( (binary_expression "iVar20 == 4" identifier == number_literal) )) (compound_statement "{\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (expression_statement "puVar12 = (undefined1 *)0xffffffff;" (assignment_expression "puVar12 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" identifier (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" else (if_statement "if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (if_statement "if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" if (parenthesized_expression "(iVar20 != 1)" ( (binary_expression "iVar20 != 1" identifier != number_literal) )) (compound_statement "{\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" { (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" identifier = (call_expression "FUN_000649c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "iVar41 = **(int **)(pcVar7 + 0xd8e50);" (assignment_expression "iVar41 = **(int **)(pcVar7 + 0xd8e50)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd8e50)" * (pointer_expression "*(int **)(pcVar7 + 0xd8e50)" * (cast_expression "(int **)(pcVar7 + 0xd8e50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8e50)" ( (binary_expression "pcVar7 + 0xd8e50" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" if (parenthesized_expression "(iVar41 == 0)" ( (binary_expression "iVar41 == 0" identifier == number_literal) )) (compound_statement "{\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x2c" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }" { (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7144" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" else (compound_statement "{\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x30" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0006b860;" goto statement_identifier ;)) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d98" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" else (compound_statement "{\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" { (labeled_statement "LAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" statement_identifier : (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b04" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;)) }))) (expression_statement "piVar43 = *(int **)(iVar9 + 4);" (assignment_expression "piVar43 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier ))) ;) (expression_statement "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);" (assignment_expression "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4)" identifier = (pointer_expression "*(int **)(*(int *)(*piVar36 + iVar5) + 4)" * (cast_expression "(int **)(*(int *)(*piVar36 + iVar5) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 4)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 4" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0006b898;" goto statement_identifier ;) })) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7db4" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" identifier (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) , (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (labeled_statement "LAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;" statement_identifier : (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" else (compound_statement "{\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" { (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" identifier = (call_expression "FUN_000649c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (expression_statement "FUN_00064368(piVar44);" (call_expression "FUN_00064368(piVar44)" identifier (argument_list "(piVar44)" ( identifier ))) ;) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" identifier = identifier) ;) (labeled_statement "LAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);" statement_identifier : (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;)) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd8e70);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd8e70)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e70)" * (cast_expression "(int *)(pcVar7 + 0xd8e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e70)" ( (binary_expression "pcVar7 + 0xd8e70" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar16 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);" do (compound_statement "{\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    }" { (expression_statement "iVar24 = piVar43[4];" (assignment_expression "iVar24 = piVar43[4]" identifier = (subscript_expression "piVar43[4]" identifier [ number_literal ])) ;) (if_statement "if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "(piVar43[4] == 0)" ( (binary_expression "piVar43[4] == 0" (subscript_expression "piVar43[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar24 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar24 = iVar9 + -0x6800;" (assignment_expression "iVar24 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "iVar27 = iVar16 + 0x6720;" (assignment_expression "iVar27 = iVar16 + 0x6720" identifier = (binary_expression "iVar16 + 0x6720" identifier + number_literal)) ;) (if_statement "if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "((int *)*piVar43 == piVar21)" ( (binary_expression "(int *)*piVar43 == piVar21" (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier)) == identifier) )) (compound_statement "{\n        iVar27 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar27 = iVar9 + -0x6800;" (assignment_expression "iVar27 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,iVar41 + 0x6298,iVar24,iVar27)" ( number_literal , (binary_expression "iVar41 + 0x6298" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" identifier = (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier))) ;) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" * (cast_expression "(undefined4 **)(*piVar36 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = (int *)puVar42[1];" (assignment_expression "piVar21 = (int *)puVar42[1]" identifier = (cast_expression "(int *)puVar42[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar42[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(piVar21 != piVar43)" ( (binary_expression "piVar21 != piVar43" identifier != identifier) )) ;) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b74" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" * (cast_expression "(undefined4 **)(*piVar36 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" identifier = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);" (assignment_expression "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdae0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdae0c)" * (pointer_expression "*(code **)(pcVar7 + 0xdae0c)" * (cast_expression "(code **)(pcVar7 + 0xdae0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdae0c)" ( (binary_expression "pcVar7 + 0xdae0c" identifier + number_literal) ))))) )) (argument_list "(uStack_7f4,uVar30)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd9234))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd9234))" ( (pointer_expression "**(code **)(pcVar7 + 0xd9234)" * (pointer_expression "*(code **)(pcVar7 + 0xd9234)" * (cast_expression "(code **)(pcVar7 + 0xd9234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9234)" ( (binary_expression "pcVar7 + 0xd9234" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7de0" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdac04))(10);" (call_expression "(**(code **)(pcVar7 + 0xdac04))(10)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac04))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac04)" * (pointer_expression "*(code **)(pcVar7 + 0xdac04)" * (cast_expression "(code **)(pcVar7 + 0xdac04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac04)" ( (binary_expression "pcVar7 + 0xdac04" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (compound_statement "{\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }" { (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" { (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0006b9c8;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" identifier = (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" identifier = identifier) ;) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" identifier = identifier) ;) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" do (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" ( (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" identifier != (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006bce0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" else (compound_statement "{\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" { (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" identifier = identifier) ;) (do_statement "do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);" do (compound_statement "{\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      }" { (if_statement "if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }" if (parenthesized_expression "(*(char *)((int)piVar43 + 0xb) == '\x7f')" ( (binary_expression "*(char *)((int)piVar43 + 0xb) == '\x7f'" (pointer_expression "*(char *)((int)piVar43 + 0xb)" * (cast_expression "(char *)((int)piVar43 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar43 + 0xb)" ( (binary_expression "(int)piVar43 + 0xb" (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n          piVar43[3] = 1;\n        }" { (expression_statement "piVar43[3] = 1;" (assignment_expression "piVar43[3] = 1" (subscript_expression "piVar43[3]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" identifier = (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier))) ;) }) while (parenthesized_expression "(piVar21 != piVar43)" ( (binary_expression "piVar21 != piVar43" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(iVar9 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar9 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar9 + 8),0x19)" ( (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;) (labeled_statement "LAB_0006b9c8:\n        FUN_00064490();" statement_identifier : (expression_statement "FUN_00064490();" (call_expression "FUN_00064490()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0006b9dc;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" identifier = (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" identifier = identifier) ;) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" identifier = identifier) ;) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" do (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" ( (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" identifier != (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar20 = *piVar36;\n      }" { (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }) (else_clause "else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" else (compound_statement "{\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" { (labeled_statement "LAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" statement_identifier : (expression_statement "give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" (call_expression "give_terminal_to(*(undefined4 *)(iVar9 + 8),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 8),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;)) (if_statement "if (iVar20 == 1) goto LAB_0006bbc8;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006bbc8;" goto statement_identifier ;)) (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar20 + iVar5);" (assignment_expression "iVar5 = *(int *)(iVar20 + iVar5)" identifier = (pointer_expression "*(int *)(iVar20 + iVar5)" * (cast_expression "(int *)(iVar20 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar5)" ( (binary_expression "iVar20 + iVar5" identifier + identifier) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar5 + 8),0x19)" ( (pointer_expression "*(undefined4 *)(iVar5 + 8)" * (cast_expression "(undefined4 *)(iVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) , number_literal ))) ;) }))) (labeled_statement "LAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);" statement_identifier : (expression_statement "iVar5 = FUN_00065a6c(piVar44);" (assignment_expression "iVar5 = FUN_00065a6c(piVar44)" identifier = (call_expression "FUN_00065a6c(piVar44)" identifier (argument_list "(piVar44)" ( identifier )))) ;)) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar30);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar30)" identifier = (cast_expression "(undefined1 *)wait_for(uVar30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))))) ;) (expression_statement "puVar42 = puVar32;" (assignment_expression "puVar42 = puVar32" identifier = identifier) ;) (do_statement "do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);" do (compound_statement "{\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar17 = puVar37 + 4;" (assignment_expression "puVar17 = puVar37 + 4" identifier = (binary_expression "puVar37 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar37 = *puVar42;" (assignment_expression "*puVar37 = *puVar42" (pointer_expression "*puVar37" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar37[1] = uVar25;" (assignment_expression "puVar37[1] = uVar25" (subscript_expression "puVar37[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37[2] = uVar23;" (assignment_expression "puVar37[2] = uVar23" (subscript_expression "puVar37[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37[3] = uVar30;" (assignment_expression "puVar37[3] = uVar30" (subscript_expression "puVar37[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37 = puVar17;" (assignment_expression "puVar37 = puVar17" identifier = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != puVar32 + 0xc)" ( (binary_expression "puVar14 != puVar32 + 0xc" identifier != (binary_expression "puVar32 + 0xc" identifier + number_literal)) )) ;) (expression_statement "*puVar17 = *puVar14;" (assignment_expression "*puVar17 = *puVar14" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) }))))) (if_statement "if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_6ec == *piVar26)" ( (binary_expression "iStack_6ec == *piVar26" identifier == (pointer_expression "*piVar26" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + 0xdad4c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + 0xdad4c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad4c)" * (cast_expression "(code **)(pcVar7 + 0xdad4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad4c)" ( (binary_expression "pcVar7 + 0xdad4c" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iStack_6ec;" (assignment_expression "iVar5 = iStack_6ec" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd8b10);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd8b10)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b10)" * (cast_expression "(int **)(pcVar7 + 0xd8b10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b10)" ( (binary_expression "pcVar7 + 0xd8b10" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = (**(code **)(pcVar7 + 0xda6dc))();" (assignment_expression "iVar20 = (**(code **)(pcVar7 + 0xda6dc))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6dc))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6dc)" * (cast_expression "(code **)(pcVar7 + 0xda6dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6dc)" ( (binary_expression "pcVar7 + 0xda6dc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*piVar43 = iVar20;" (assignment_expression "*piVar43 = iVar20" (pointer_expression "*piVar43" * identifier) = identifier) ;) (if_statement "if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" if (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7dec" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda620))(1);" (call_expression "(**(code **)(pcVar7 + 0xda620))(1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda620))" ( (pointer_expression "**(code **)(pcVar7 + 0xda620)" * (pointer_expression "*(code **)(pcVar7 + 0xda620)" * (cast_expression "(code **)(pcVar7 + 0xda620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda620)" ( (binary_expression "pcVar7 + 0xda620" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_0006c3c8:\n    uVar30 = *puVar22;" statement_identifier : (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;)) (labeled_statement "LAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" statement_identifier : (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;)) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda780))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda780))" ( (pointer_expression "**(code **)(pcVar7 + 0xda780)" * (pointer_expression "*(code **)(pcVar7 + 0xda780)" * (cast_expression "(code **)(pcVar7 + 0xda780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda780)" ( (binary_expression "pcVar7 + 0xda780" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (if_statement "if (iVar5 != -1) goto LAB_0006bf80;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006bf80;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar43 == 0) goto LAB_0006bf08;" if (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) (goto_statement "goto LAB_0006bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0006be5c:\n    iVar5 = *piVar36;" statement_identifier : (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;)) }) (else_clause "else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" else (compound_statement "{\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" { (expression_statement "piVar44 = *(int **)(pcVar7 + 0xd87f4);" (assignment_expression "piVar44 = *(int **)(pcVar7 + 0xd87f4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd87f4)" * (cast_expression "(int **)(pcVar7 + 0xd87f4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87f4)" ( (binary_expression "pcVar7 + 0xd87f4" identifier + number_literal) ))))) ;) (expression_statement "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);" (assignment_expression "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xda77c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xda77c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda77c)" ( (binary_expression "pcVar7 + 0xda77c" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (if_statement "if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar5 == 0 && *piVar44 == 0)" ( (binary_expression "iVar5 == 0 && *piVar44 == 0" (binary_expression "iVar5 == 0" identifier == number_literal) && (binary_expression "*piVar44 == 0" (pointer_expression "*piVar44" * identifier) == number_literal)) )) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xd9070)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd9070)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (expression_statement "*puVar42 = 0xffffffff;" (assignment_expression "*puVar42 = 0xffffffff" (pointer_expression "*puVar42" * identifier) = number_literal) ;) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" identifier = (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)(iVar5);" (assignment_expression "iVar5 = (*pcVar8)(iVar5)" identifier = (call_expression "(*pcVar8)(iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "**(int **)(pcVar7 + 0xd9434) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9434) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9434)" * (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = **(int **)(pcVar7 + 0xd87e4);" (assignment_expression "iVar5 = **(int **)(pcVar7 + 0xd87e4)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd87e4)" * (pointer_expression "*(int **)(pcVar7 + 0xd87e4)" * (cast_expression "(int **)(pcVar7 + 0xd87e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87e4)" ( (binary_expression "pcVar7 + 0xd87e4" identifier + number_literal) )))))) ;) (expression_statement "*piVar36 = -1;" (assignment_expression "*piVar36 = -1" (pointer_expression "*piVar36" * identifier) = number_literal) ;) (if_statement "if (iVar5 == 0) goto LAB_0006be24;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006be24;" goto statement_identifier ;)) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))();" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4b0))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4b0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4b0)" * (pointer_expression "*(code **)(pcVar7 + 0xda4b0)" * (cast_expression "(code **)(pcVar7 + 0xda4b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4b0)" ( (binary_expression "pcVar7 + 0xda4b0" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda5dc)" * (cast_expression "(code **)(pcVar7 + 0xda5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5dc)" ( (binary_expression "pcVar7 + 0xda5dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" ( (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x62c0" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) }) (else_clause "else {\n      iVar5 = *piVar36;\n    }" else (compound_statement "{\n      iVar5 = *piVar36;\n    }" { (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }))) (if_statement "if (iVar5 == -1) goto LAB_0006c3c8;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006c3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" statement_identifier : (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a0c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a0c)" * (cast_expression "(code **)(pcVar7 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a0c)" ( (binary_expression "pcVar7 + 0xd8a0c" identifier + number_literal) ))))) )) (argument_list "(iVar5,1,0xffffffff)" ( identifier , number_literal , number_literal )))) ;)) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar43 != 0) goto LAB_0006be5c;" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf08:\n    iVar5 = (*pcVar8)();" statement_identifier : (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda4fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda4fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (expression_statement "(*pcVar8)(0,iVar5);" (call_expression "(*pcVar8)(0,iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5)" ( number_literal , identifier ))) ;) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (if_statement "if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);" (call_expression "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda73c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda73c)" * (pointer_expression "*(code **)(pcVar7 + 0xda73c)" * (cast_expression "(code **)(pcVar7 + 0xda73c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda73c)" ( (binary_expression "pcVar7 + 0xda73c" identifier + number_literal) ))))) )) (argument_list "(iVar5,*piVar43)" ( identifier , (pointer_expression "*piVar43" * identifier) ))) ;) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;) })) }))) (expression_statement "iVar20 = 0x12;" (assignment_expression "iVar20 = 0x12" identifier = number_literal) ;) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9434);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9434)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) ;) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8a98);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8a98)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8a98)" * (cast_expression "(int **)(pcVar7 + 0xd8a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a98)" ( (binary_expression "pcVar7 + 0xd8a98" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda598))(iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda598))" ( (pointer_expression "**(code **)(pcVar7 + 0xda598)" * (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "*piVar45 = iVar5;" (assignment_expression "*piVar45 = iVar5" (pointer_expression "*piVar45" * identifier) = identifier) ;) (if_statement "if (iVar5 == -1) break;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" if (parenthesized_expression "(*piVar43 == iVar5)" ( (binary_expression "*piVar43 == iVar5" (pointer_expression "*piVar43" * identifier) == identifier) )) (compound_statement "{\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" { (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0006c118;" goto statement_identifier ;) })) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21);" (call_expression "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a9c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a9c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a9c)" * (cast_expression "(code **)(pcVar7 + 0xd8a9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a9c)" ( (binary_expression "pcVar7 + 0xd8a9c" identifier + number_literal) ))))) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) })) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "uVar30 = (*pcVar8)(0x1a,0);" (assignment_expression "uVar30 = (*pcVar8)(0x1a,0)" identifier = (call_expression "(*pcVar8)(0x1a,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0x1a,0)" ( number_literal , number_literal )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda61c))(0,0x1a);" (call_expression "(**(code **)(pcVar7 + 0xda61c))(0,0x1a)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda61c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda61c)" * (pointer_expression "*(code **)(pcVar7 + 0xda61c)" * (cast_expression "(code **)(pcVar7 + 0xda61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda61c)" ( (binary_expression "pcVar7 + 0xda61c" identifier + number_literal) ))))) )) (argument_list "(0,0x1a)" ( number_literal , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x1a,uVar30)" ( number_literal , identifier ))) ;) (if_statement "if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e14" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (expression_statement "**(int **)(pcVar7 + 0xd9070) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9070) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9070)" * (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) })) (expression_statement "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (labeled_statement "LAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);" statement_identifier : (expression_statement "piVar29 = *(int **)(pcVar7 + 0xd9070);" (assignment_expression "piVar29 = *(int **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (expression_statement "*piVar29 = iVar5;" (assignment_expression "*piVar29 = iVar5" (pointer_expression "*piVar29" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar20 = *piVar29;" (assignment_expression "iVar20 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (if_statement "if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" if (parenthesized_expression "(iVar5 == iVar20)" ( (binary_expression "iVar5 == iVar20" identifier == identifier) )) (compound_statement "{\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }" { (labeled_statement "LAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);" statement_identifier : (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;)) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (labeled_statement "LAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);" statement_identifier : (expression_statement "iVar20 = (*pcVar8)(*piVar36);" (assignment_expression "iVar20 = (*pcVar8)(*piVar36)" identifier = (call_expression "(*pcVar8)(*piVar36)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*piVar36)" ( (pointer_expression "*piVar36" * identifier) )))) ;)) (if_statement "if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" if (parenthesized_expression "((iVar20 == -1) || (*piVar43 != iVar20))" ( (binary_expression "(iVar20 == -1) || (*piVar43 != iVar20)" (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) || (parenthesized_expression "(*piVar43 != iVar20)" ( (binary_expression "*piVar43 != iVar20" (pointer_expression "*piVar43" * identifier) != identifier) ))) )) (compound_statement "{\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" { (if_statement "if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" { (expression_statement "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar29 = iVar9;" (assignment_expression "*piVar29 = iVar9" (pointer_expression "*piVar29" * identifier) = identifier) ;) })) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e6c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30,iVar20);" (call_expression "sys_error(uVar30,iVar20)" identifier (argument_list "(uVar30,iVar20)" ( identifier , identifier ))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (goto_statement "goto LAB_0006c230;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" { (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" else (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5)" ( number_literal , identifier )))) ;) (if_statement "if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e4c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" * identifier) = (pointer_expression "*piVar29" * identifier)) ;) (goto_statement "goto LAB_0006c138;" goto statement_identifier ;) })) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "iVar5 = *piVar29;" (assignment_expression "iVar5 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (if_statement "if (iVar20 == iVar5) goto LAB_0006c144;" if (parenthesized_expression "(iVar20 == iVar5)" ( (binary_expression "iVar20 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006c144;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar45 == iVar20) goto LAB_0006c148;" if (parenthesized_expression "(*piVar45 == iVar20)" ( (binary_expression "*piVar45 == iVar20" (pointer_expression "*piVar45" * identifier) == identifier) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) (expression_statement "iVar5 = give_terminal_to(iVar20,0);" (assignment_expression "iVar5 = give_terminal_to(iVar20,0)" identifier = (call_expression "give_terminal_to(iVar20,0)" identifier (argument_list "(iVar20,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }" { (expression_statement "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" identifier = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);" (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,*piVar29)" ( number_literal , (pointer_expression "*piVar29" * identifier) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda6fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda6fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" * identifier) = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*puVar42 = uVar30;" (assignment_expression "*puVar42 = uVar30" (pointer_expression "*puVar42" * identifier) = identifier) ;) (expression_statement "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);" (assignment_expression "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5)" identifier = (call_expression "(*pcVar8)(0,iVar5 + 0x7e6c,5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5 + 0x7e6c,5)" ( number_literal , (binary_expression "iVar5 + 0x7e6c" identifier + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30,*piVar43);" (call_expression "sys_error(uVar30,*piVar43)" identifier (argument_list "(uVar30,*piVar43)" ( identifier , (pointer_expression "*piVar43" * identifier) ))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) }) (else_clause "else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" else (compound_statement "{\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) goto LAB_0006c148;" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5 + 0x7e94,5)" ( number_literal , (binary_expression "iVar5 + 0x7e94" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30);" (call_expression "internal_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (labeled_statement "LAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;)) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);" (assignment_expression "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5)" (pointer_expression "**(uint **)(pcVar7 + 0xd8954)" * (pointer_expression "*(uint **)(pcVar7 + 0xd8954)" * (cast_expression "(uint **)(pcVar7 + 0xd8954)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8954)" ( (binary_expression "pcVar7 + 0xd8954" identifier + number_literal) ))))) = (call_expression "(uint)(iVar20 != iVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar20 != iVar5)" ( (binary_expression "iVar20 != iVar5" identifier != identifier) )))) ;) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" identifier = (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar30)" ( identifier )))) ;) (if_statement "if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" if (parenthesized_expression "(iVar5 != *piVar36)" ( (binary_expression "iVar5 != *piVar36" identifier != (pointer_expression "*piVar36" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" { (expression_statement "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);" (call_expression "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda540))" ( (pointer_expression "**(code **)(pcVar7 + 0xda540)" * (pointer_expression "*(code **)(pcVar7 + 0xda540)" * (cast_expression "(code **)(pcVar7 + 0xda540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda540)" ( (binary_expression "pcVar7 + 0xda540" identifier + number_literal) ))))) )) (argument_list "(*piVar36,2,1)" ( (pointer_expression "*piVar36" * identifier) , number_literal , number_literal ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd942c) + -0x6fbc" (pointer_expression "*(int *)(pcVar7 + 0xd942c)" * (cast_expression "(int *)(pcVar7 + 0xd942c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd942c)" ( (binary_expression "pcVar7 + 0xd942c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar30 = 0x2b;" (assignment_expression "uVar30 = 0x2b" identifier = number_literal) ;) (if_statement "if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n    uVar30 = 0x2d;\n  }" { (expression_statement "uVar30 = 0x2d;" (assignment_expression "uVar30 = 0x2d" identifier = number_literal) ;) })) (expression_statement "change_flag(0x6d,uVar30);" (call_expression "change_flag(0x6d,uVar30)" identifier (argument_list "(0x6d,uVar30)" ( number_literal , identifier ))) ;) (if_statement "if (*piVar44 != 0) {\n    get_tty_state();\n  }" if (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) (compound_statement "{\n    get_tty_state();\n  }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd90bc);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd90bc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd90bc)" * (cast_expression "(int **)(pcVar7 + 0xd90bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd90bc)" ( (binary_expression "pcVar7 + 0xd90bc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }" if (parenthesized_expression "(-1 < *piVar43)" ( (binary_expression "-1 < *piVar43" number_literal < (pointer_expression "*piVar43" * identifier)) )) (compound_statement "{\n    return (undefined1 *)*piVar21;\n  }" { (return_statement "return (undefined1 *)*piVar21;" return (cast_expression "(undefined1 *)*piVar21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd93d8))();" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd93d8))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xd93d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xd93d8))" ( (pointer_expression "**(code **)(pcVar7 + 0xd93d8)" * (pointer_expression "*(code **)(pcVar7 + 0xd93d8)" * (cast_expression "(code **)(pcVar7 + 0xd93d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93d8)" ( (binary_expression "pcVar7 + 0xd93d8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar5 = 0x20;\n  }" { (expression_statement "iVar5 = 0x20;" (assignment_expression "iVar5 = 0x20" identifier = number_literal) ;) })) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (return_statement "return (undefined1 *)*piVar21;" return (cast_expression "(undefined1 *)*piVar21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) ;) })))
(translation_unit "int wait_for(pid_t pid)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  uint pid_00;\n  int iVar5;\n  sigset_t *psVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar16;\n  PROCESS *pPVar12;\n  undefined1 *puVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  uint status;\n  int *piVar20;\n  undefined1 *block;\n  undefined4 *puVar21;\n  int iVar22;\n  int *in_a3;\n  int *piVar23;\n  int iVar24;\n  undefined *puVar25;\n  int *piVar26;\n  pid_t pVar27;\n  undefined1 *puVar28;\n  undefined4 uVar29;\n  sigset_t *psVar30;\n  sigset_t *psVar31;\n  sigset_t *psVar32;\n  int *piVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  sigset_t *psVar36;\n  int iVar37;\n  undefined4 *puVar38;\n  int *unaff_s6;\n  int *piVar39;\n  int *piVar40;\n  undefined *puVar41;\n  int unaff_s8;\n  int *piVar42;\n  char *pcStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  int iStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  int iStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  sigset_t *psStack_2d0;\n  int iStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  sigset_t *psStack_194;\n  sigset_t *psStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  int local_144;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar41 = PTR___environ_00145154;\n  piVar39 = (int *)PTR_job_control_001448a8;\n  psVar36 = &oset;\n  psVar30 = &set;\n  pid_00 = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(psVar30);\n  (*(code *)PTR_sigaddset_00146364)(psVar30,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(psVar36);\n  (*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36);\n  iVar5 = *piVar39;\n  *(undefined4 *)(puVar41 + -0x70d8) = 0;\n  *(undefined4 *)(puVar41 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);\n    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar20;\n  }\n  else {\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar34 = PTR___environ_00145154;\n  puVar2 = PTR_wait_builtin_00145150;\n  puVar1 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    psVar6 = (sigset_t *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);\n    piVar42 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n    puVar25 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(sigset_t **)(puVar25 + 0x460) = psVar31;\n    piVar42[-0x1c37] = 0;\n    unaff_s6 = piVar42;\nLAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }\n    psVar32 = psVar6;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n  pid = (pid_t)puVar25;\nLAB_0006a040:\n  if (pid_00 == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  puVar41 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar41 + 0xe1e00;\n  piVar42 = *(int **)(puVar41 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar39;\n  iStack_19c = *piVar42;\n  puStack_198 = (undefined *)pid;\n  psStack_194 = psVar31;\n  psStack_190 = psVar32;\n  piStack_18c = piVar20;\n  puStack_188 = puVar34;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar41 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  pPVar12 = find_pipeline(pid_00,0,(int *)0x0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (pPVar12 == (PROCESS *)0x0) {\n    piVar20 = *(int **)(puStack_2a8 + -0x7408);\n    iVar5 = *piVar20;\n    iVar19 = 0;\n    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }\nLAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);\n    if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar42) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar9 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar9 + 0x5a6c);\n  iVar17 = *(int *)(pcVar7 + 0xd9a14);\n  iStack_2e4 = *piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar37 = *(int *)(pcVar7 + 0xda2f4);\n  piVar20 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = pid_00;\n  iStack_2d4 = iVar19;\n  psStack_2d0 = psVar36;\n  iStack_2cc = iVar5;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar39;\n  piStack_2c0 = piVar42;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status((int)piVar42);\n  if (((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0)) {\n    delete_job((int)piVar42,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);\n    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar28);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\nLAB_0006b0d0:\n  piVar40 = (int *)(*piVar42 + (int)piVar40);\n  iVar9 = *piVar40;\n  if ((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)) {\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return iVar19;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar9 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar38;\n  puStack_598 = puVar28;\n  puStack_594 = auStack_4bc;\n  iStack_590 = iVar19;\n  piStack_588 = piVar20;\n  iStack_584 = iVar5;\n  piStack_580 = piVar26;\n  piStack_57c = piVar40;\n  piStack_578 = piVar42;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar9 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    iVar19 = *(int *)(pcVar7 + 0xd9ba8);\n    puVar28 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n    if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }\n    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    piVar42 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar42 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar38) {\n    return (int)puVar13;\n  }\n  piVar40 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar21 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar23 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar40 * 4;\n  iStack_6ec = *piVar23;\n  piVar33 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar28;\n  puStack_6e4 = puVar13;\n  iStack_6e0 = iVar19;\n  piStack_6dc = piVar39;\n  piStack_6d8 = piVar20;\n  puStack_6d4 = puVar38;\n  piStack_6d0 = piVar26;\n  iStack_6cc = iVar9;\n  piStack_6c8 = piVar42;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc);\n  if (iVar19 == 4) {\n    iVar5 = -1;\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar23) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar39 = *(int **)(pcVar7 + 0xd8b10);\n  iVar19 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar39 = iVar19;\n  if (iVar19 == -1) {\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(pcVar15);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar29 = *puVar21;\nLAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);\n    *piVar33 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar33;\n  }\n  else {\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar19 = 0x12;\n  piVar42 = *(int **)(pcVar7 + 0xd9434);\n  piVar20 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar42 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar19 = iVar19 + -1;\n    uVar29 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);\n    if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar33;\n  }\n  piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar20;\n  iVar5 = *piVar39;\nLAB_0006c118:\n  piVar26 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar26 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar19 = *piVar26;\n  *piVar39 = iVar5;\n  if (iVar5 == iVar19) {\nLAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar20 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);\n    if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(pcVar15);\n  iVar5 = *piVar42;\n  iVar19 = *piVar39;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar29 = *puVar21;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5);\n  iVar5 = (*pcVar8)(uVar29);\n  if (iVar5 != *piVar33) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  iVar5 = 0x2b;\n  if (*piVar20 != 0) {\n    iVar5 = 0x2d;\n  }\n  change_flag(0x6d,iVar5);\n  if (*piVar40 != 0) {\n    get_tty_state();\n  }\n  piVar39 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar39) {\n    return *piVar20;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar39 = iVar5;\n  return *piVar20;\n}\n\n" (function_definition "int wait_for(pid_t pid)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  uint pid_00;\n  int iVar5;\n  sigset_t *psVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar16;\n  PROCESS *pPVar12;\n  undefined1 *puVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  uint status;\n  int *piVar20;\n  undefined1 *block;\n  undefined4 *puVar21;\n  int iVar22;\n  int *in_a3;\n  int *piVar23;\n  int iVar24;\n  undefined *puVar25;\n  int *piVar26;\n  pid_t pVar27;\n  undefined1 *puVar28;\n  undefined4 uVar29;\n  sigset_t *psVar30;\n  sigset_t *psVar31;\n  sigset_t *psVar32;\n  int *piVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  sigset_t *psVar36;\n  int iVar37;\n  undefined4 *puVar38;\n  int *unaff_s6;\n  int *piVar39;\n  int *piVar40;\n  undefined *puVar41;\n  int unaff_s8;\n  int *piVar42;\n  char *pcStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  int iStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  int iStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  sigset_t *psStack_2d0;\n  int iStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  sigset_t *psStack_194;\n  sigset_t *psStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  int local_144;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar41 = PTR___environ_00145154;\n  piVar39 = (int *)PTR_job_control_001448a8;\n  psVar36 = &oset;\n  psVar30 = &set;\n  pid_00 = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(psVar30);\n  (*(code *)PTR_sigaddset_00146364)(psVar30,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(psVar36);\n  (*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36);\n  iVar5 = *piVar39;\n  *(undefined4 *)(puVar41 + -0x70d8) = 0;\n  *(undefined4 *)(puVar41 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);\n    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar20;\n  }\n  else {\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar34 = PTR___environ_00145154;\n  puVar2 = PTR_wait_builtin_00145150;\n  puVar1 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    psVar6 = (sigset_t *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);\n    piVar42 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n    puVar25 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(sigset_t **)(puVar25 + 0x460) = psVar31;\n    piVar42[-0x1c37] = 0;\n    unaff_s6 = piVar42;\nLAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }\n    psVar32 = psVar6;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n  pid = (pid_t)puVar25;\nLAB_0006a040:\n  if (pid_00 == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  puVar41 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar41 + 0xe1e00;\n  piVar42 = *(int **)(puVar41 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar39;\n  iStack_19c = *piVar42;\n  puStack_198 = (undefined *)pid;\n  psStack_194 = psVar31;\n  psStack_190 = psVar32;\n  piStack_18c = piVar20;\n  puStack_188 = puVar34;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar41 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  pPVar12 = find_pipeline(pid_00,0,(int *)0x0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (pPVar12 == (PROCESS *)0x0) {\n    piVar20 = *(int **)(puStack_2a8 + -0x7408);\n    iVar5 = *piVar20;\n    iVar19 = 0;\n    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }\nLAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);\n    if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar42) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar9 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar9 + 0x5a6c);\n  iVar17 = *(int *)(pcVar7 + 0xd9a14);\n  iStack_2e4 = *piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar37 = *(int *)(pcVar7 + 0xda2f4);\n  piVar20 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = pid_00;\n  iStack_2d4 = iVar19;\n  psStack_2d0 = psVar36;\n  iStack_2cc = iVar5;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar39;\n  piStack_2c0 = piVar42;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status((int)piVar42);\n  if (((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0)) {\n    delete_job((int)piVar42,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);\n    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar28);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\nLAB_0006b0d0:\n  piVar40 = (int *)(*piVar42 + (int)piVar40);\n  iVar9 = *piVar40;\n  if ((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)) {\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return iVar19;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar9 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar38;\n  puStack_598 = puVar28;\n  puStack_594 = auStack_4bc;\n  iStack_590 = iVar19;\n  piStack_588 = piVar20;\n  iStack_584 = iVar5;\n  piStack_580 = piVar26;\n  piStack_57c = piVar40;\n  piStack_578 = piVar42;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar9 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    iVar19 = *(int *)(pcVar7 + 0xd9ba8);\n    puVar28 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n    if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }\n    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    piVar42 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar42 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar38) {\n    return (int)puVar13;\n  }\n  piVar40 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar21 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar23 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar40 * 4;\n  iStack_6ec = *piVar23;\n  piVar33 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar28;\n  puStack_6e4 = puVar13;\n  iStack_6e0 = iVar19;\n  piStack_6dc = piVar39;\n  piStack_6d8 = piVar20;\n  puStack_6d4 = puVar38;\n  piStack_6d0 = piVar26;\n  iStack_6cc = iVar9;\n  piStack_6c8 = piVar42;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc);\n  if (iVar19 == 4) {\n    iVar5 = -1;\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar23) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar39 = *(int **)(pcVar7 + 0xd8b10);\n  iVar19 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar39 = iVar19;\n  if (iVar19 == -1) {\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(pcVar15);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar29 = *puVar21;\nLAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);\n    *piVar33 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar33;\n  }\n  else {\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar19 = 0x12;\n  piVar42 = *(int **)(pcVar7 + 0xd9434);\n  piVar20 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar42 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar19 = iVar19 + -1;\n    uVar29 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);\n    if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar33;\n  }\n  piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar20;\n  iVar5 = *piVar39;\nLAB_0006c118:\n  piVar26 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar26 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar19 = *piVar26;\n  *piVar39 = iVar5;\n  if (iVar5 == iVar19) {\nLAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar20 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);\n    if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(pcVar15);\n  iVar5 = *piVar42;\n  iVar19 = *piVar39;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar29 = *puVar21;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5);\n  iVar5 = (*pcVar8)(uVar29);\n  if (iVar5 != *piVar33) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  iVar5 = 0x2b;\n  if (*piVar20 != 0) {\n    iVar5 = 0x2d;\n  }\n  change_flag(0x6d,iVar5);\n  if (*piVar40 != 0) {\n    get_tty_state();\n  }\n  piVar39 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar39) {\n    return *piVar20;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar39 = iVar5;\n  return *piVar20;\n}" primitive_type (function_declarator "wait_for(pid_t pid)" identifier (parameter_list "(pid_t pid)" ( (parameter_declaration "pid_t pid" type_identifier identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  uint pid_00;\n  int iVar5;\n  sigset_t *psVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar16;\n  PROCESS *pPVar12;\n  undefined1 *puVar13;\n  int *piVar14;\n  char *pcVar15;\n  int iVar17;\n  int *piVar18;\n  int iVar19;\n  uint status;\n  int *piVar20;\n  undefined1 *block;\n  undefined4 *puVar21;\n  int iVar22;\n  int *in_a3;\n  int *piVar23;\n  int iVar24;\n  undefined *puVar25;\n  int *piVar26;\n  pid_t pVar27;\n  undefined1 *puVar28;\n  undefined4 uVar29;\n  sigset_t *psVar30;\n  sigset_t *psVar31;\n  sigset_t *psVar32;\n  int *piVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  sigset_t *psVar36;\n  int iVar37;\n  undefined4 *puVar38;\n  int *unaff_s6;\n  int *piVar39;\n  int *piVar40;\n  undefined *puVar41;\n  int unaff_s8;\n  int *piVar42;\n  char *pcStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  int iStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  int iStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  int iStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  sigset_t *psStack_2d0;\n  int iStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  sigset_t *psStack_194;\n  sigset_t *psStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  int local_144;\n  sigset_t set;\n  sigset_t oset;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar41 = PTR___environ_00145154;\n  piVar39 = (int *)PTR_job_control_001448a8;\n  psVar36 = &oset;\n  psVar30 = &set;\n  pid_00 = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(psVar30);\n  (*(code *)PTR_sigaddset_00146364)(psVar30,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(psVar36);\n  (*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36);\n  iVar5 = *piVar39;\n  *(undefined4 *)(puVar41 + -0x70d8) = 0;\n  *(undefined4 *)(puVar41 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);\n    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar20;\n  }\n  else {\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar34 = PTR___environ_00145154;\n  puVar2 = PTR_wait_builtin_00145150;\n  puVar1 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    psVar6 = (sigset_t *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);\n    piVar42 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n    puVar25 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(sigset_t **)(puVar25 + 0x460) = psVar31;\n    piVar42[-0x1c37] = 0;\n    unaff_s6 = piVar42;\nLAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }\n    psVar32 = psVar6;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n  pid = (pid_t)puVar25;\nLAB_0006a040:\n  if (pid_00 == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  puVar41 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar41 + 0xe1e00;\n  piVar42 = *(int **)(puVar41 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar39;\n  iStack_19c = *piVar42;\n  puStack_198 = (undefined *)pid;\n  psStack_194 = psVar31;\n  psStack_190 = psVar32;\n  piStack_18c = piVar20;\n  puStack_188 = puVar34;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar41 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  pPVar12 = find_pipeline(pid_00,0,(int *)0x0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (pPVar12 == (PROCESS *)0x0) {\n    piVar20 = *(int **)(puStack_2a8 + -0x7408);\n    iVar5 = *piVar20;\n    iVar19 = 0;\n    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }\nLAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);\n    if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar42) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar9 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar9 + 0x5a6c);\n  iVar17 = *(int *)(pcVar7 + 0xd9a14);\n  iStack_2e4 = *piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar37 = *(int *)(pcVar7 + 0xda2f4);\n  piVar20 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = pid_00;\n  iStack_2d4 = iVar19;\n  psStack_2d0 = psVar36;\n  iStack_2cc = iVar5;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar39;\n  piStack_2c0 = piVar42;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status((int)piVar42);\n  if (((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0)) {\n    delete_job((int)piVar42,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);\n    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar28);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\nLAB_0006b0d0:\n  piVar40 = (int *)(*piVar42 + (int)piVar40);\n  iVar9 = *piVar40;\n  if ((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)) {\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return iVar19;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar9 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar38;\n  puStack_598 = puVar28;\n  puStack_594 = auStack_4bc;\n  iStack_590 = iVar19;\n  piStack_588 = piVar20;\n  iStack_584 = iVar5;\n  piStack_580 = piVar26;\n  piStack_57c = piVar40;\n  piStack_578 = piVar42;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar9 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    iVar19 = *(int *)(pcVar7 + 0xd9ba8);\n    puVar28 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n    if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }\n    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    piVar42 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar42 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar38) {\n    return (int)puVar13;\n  }\n  piVar40 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar21 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar23 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar40 * 4;\n  iStack_6ec = *piVar23;\n  piVar33 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar28;\n  puStack_6e4 = puVar13;\n  iStack_6e0 = iVar19;\n  piStack_6dc = piVar39;\n  piStack_6d8 = piVar20;\n  puStack_6d4 = puVar38;\n  piStack_6d0 = piVar26;\n  iStack_6cc = iVar9;\n  piStack_6c8 = piVar42;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc);\n  if (iVar19 == 4) {\n    iVar5 = -1;\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar23) {\n    return iVar5;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar39 = *(int **)(pcVar7 + 0xd8b10);\n  iVar19 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar39 = iVar19;\n  if (iVar19 == -1) {\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(pcVar15);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar29 = *puVar21;\nLAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);\n    *piVar33 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar33;\n  }\n  else {\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar19 = 0x12;\n  piVar42 = *(int **)(pcVar7 + 0xd9434);\n  piVar20 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar42 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar19 = iVar19 + -1;\n    uVar29 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);\n    if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar33;\n  }\n  piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar20;\n  iVar5 = *piVar39;\nLAB_0006c118:\n  piVar26 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar26 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar19 = *piVar26;\n  *piVar39 = iVar5;\n  if (iVar5 == iVar19) {\nLAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar20 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);\n    if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(pcVar15);\n  iVar5 = *piVar42;\n  iVar19 = *piVar39;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar29 = *puVar21;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5);\n  iVar5 = (*pcVar8)(uVar29);\n  if (iVar5 != *piVar33) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  iVar5 = 0x2b;\n  if (*piVar20 != 0) {\n    iVar5 = 0x2d;\n  }\n  change_flag(0x6d,iVar5);\n  if (*piVar40 != 0) {\n    get_tty_state();\n  }\n  piVar39 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar39) {\n    return *piVar20;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar39 = iVar5;\n  return *piVar20;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint pid_00;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "sigset_t *psVar6;" type_identifier (pointer_declarator "*psVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char cVar16;" primitive_type identifier ;) (declaration "PROCESS *pPVar12;" type_identifier (pointer_declarator "*pPVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "uint status;" type_identifier identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined1 *block;" type_identifier (pointer_declarator "*block" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int *in_a3;" primitive_type (pointer_declarator "*in_a3" * identifier) ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "pid_t pVar27;" type_identifier identifier ;) (declaration "undefined1 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "undefined4 uVar29;" type_identifier identifier ;) (declaration "sigset_t *psVar30;" type_identifier (pointer_declarator "*psVar30" * identifier) ;) (declaration "sigset_t *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "sigset_t *psVar32;" type_identifier (pointer_declarator "*psVar32" * identifier) ;) (declaration "int *piVar33;" primitive_type (pointer_declarator "*piVar33" * identifier) ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "sigset_t *psVar36;" type_identifier (pointer_declarator "*psVar36" * identifier) ;) (declaration "int iVar37;" primitive_type identifier ;) (declaration "undefined4 *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar39;" primitive_type (pointer_declarator "*piVar39" * identifier) ;) (declaration "int *piVar40;" primitive_type (pointer_declarator "*piVar40" * identifier) ;) (declaration "undefined *puVar41;" type_identifier (pointer_declarator "*puVar41" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int *piVar42;" primitive_type (pointer_declarator "*piVar42" * identifier) ;) (declaration "char *pcStack_7f4;" primitive_type (pointer_declarator "*pcStack_7f4" * identifier) ;) (declaration "undefined1 auStack_7ec [128];" type_identifier (array_declarator "auStack_7ec [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_76c [128];" type_identifier (array_declarator "auStack_76c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_6ec;" primitive_type identifier ;) (declaration "undefined1 *puStack_6e8;" type_identifier (pointer_declarator "*puStack_6e8" * identifier) ;) (declaration "undefined1 *puStack_6e4;" type_identifier (pointer_declarator "*puStack_6e4" * identifier) ;) (declaration "int iStack_6e0;" primitive_type identifier ;) (declaration "int *piStack_6dc;" primitive_type (pointer_declarator "*piStack_6dc" * identifier) ;) (declaration "int *piStack_6d8;" primitive_type (pointer_declarator "*piStack_6d8" * identifier) ;) (declaration "undefined4 *puStack_6d4;" type_identifier (pointer_declarator "*puStack_6d4" * identifier) ;) (declaration "int *piStack_6d0;" primitive_type (pointer_declarator "*piStack_6d0" * identifier) ;) (declaration "int iStack_6cc;" primitive_type identifier ;) (declaration "int *piStack_6c8;" primitive_type (pointer_declarator "*piStack_6c8" * identifier) ;) (declaration "code *pcStack_6c4;" type_identifier (pointer_declarator "*pcStack_6c4" * identifier) ;) (declaration "code *pcStack_6b0;" type_identifier (pointer_declarator "*pcStack_6b0" * identifier) ;) (declaration "code *pcStack_6a4;" type_identifier (pointer_declarator "*pcStack_6a4" * identifier) ;) (declaration "undefined1 auStack_69c [128];" type_identifier (array_declarator "auStack_69c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_61c [128];" type_identifier (array_declarator "auStack_61c [128]" identifier [ number_literal ]) ;) (declaration "int *piStack_59c;" primitive_type (pointer_declarator "*piStack_59c" * identifier) ;) (declaration "undefined1 *puStack_598;" type_identifier (pointer_declarator "*puStack_598" * identifier) ;) (declaration "undefined1 *puStack_594;" type_identifier (pointer_declarator "*puStack_594" * identifier) ;) (declaration "int iStack_590;" primitive_type identifier ;) (declaration "undefined4 uStack_58c;" type_identifier identifier ;) (declaration "int *piStack_588;" primitive_type (pointer_declarator "*piStack_588" * identifier) ;) (declaration "int iStack_584;" primitive_type identifier ;) (declaration "int *piStack_580;" primitive_type (pointer_declarator "*piStack_580" * identifier) ;) (declaration "int *piStack_57c;" primitive_type (pointer_declarator "*piStack_57c" * identifier) ;) (declaration "int *piStack_578;" primitive_type (pointer_declarator "*piStack_578" * identifier) ;) (declaration "code *pcStack_574;" type_identifier (pointer_declarator "*pcStack_574" * identifier) ;) (declaration "code *pcStack_560;" type_identifier (pointer_declarator "*pcStack_560" * identifier) ;) (declaration "code *pcStack_554;" type_identifier (pointer_declarator "*pcStack_554" * identifier) ;) (declaration "int iStack_550;" primitive_type identifier ;) (declaration "int iStack_54c;" primitive_type identifier ;) (declaration "int *piStack_548;" primitive_type (pointer_declarator "*piStack_548" * identifier) ;) (declaration "code *pcStack_544;" type_identifier (pointer_declarator "*pcStack_544" * identifier) ;) (declaration "undefined1 auStack_53c [128];" type_identifier (array_declarator "auStack_53c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4bc [128];" type_identifier (array_declarator "auStack_4bc [128]" identifier [ number_literal ]) ;) (declaration "int iStack_43c;" primitive_type identifier ;) (declaration "int *piStack_438;" primitive_type (pointer_declarator "*piStack_438" * identifier) ;) (declaration "int iStack_434;" primitive_type identifier ;) (declaration "undefined1 *puStack_430;" type_identifier (pointer_declarator "*puStack_430" * identifier) ;) (declaration "int iStack_42c;" primitive_type identifier ;) (declaration "undefined1 *puStack_428;" type_identifier (pointer_declarator "*puStack_428" * identifier) ;) (declaration "int iStack_424;" primitive_type identifier ;) (declaration "int *piStack_420;" primitive_type (pointer_declarator "*piStack_420" * identifier) ;) (declaration "int *piStack_41c;" primitive_type (pointer_declarator "*piStack_41c" * identifier) ;) (declaration "int *piStack_418;" primitive_type (pointer_declarator "*piStack_418" * identifier) ;) (declaration "code *pcStack_414;" type_identifier (pointer_declarator "*pcStack_414" * identifier) ;) (declaration "code *pcStack_400;" type_identifier (pointer_declarator "*pcStack_400" * identifier) ;) (declaration "code *pcStack_3f4;" type_identifier (pointer_declarator "*pcStack_3f4" * identifier) ;) (declaration "int *piStack_3f0;" primitive_type (pointer_declarator "*piStack_3f0" * identifier) ;) (declaration "code *pcStack_3ec;" type_identifier (pointer_declarator "*pcStack_3ec" * identifier) ;) (declaration "undefined1 auStack_3e4 [128];" type_identifier (array_declarator "auStack_3e4 [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_364 [128];" type_identifier (array_declarator "auStack_364 [128]" identifier [ number_literal ]) ;) (declaration "int iStack_2e4;" primitive_type identifier ;) (declaration "undefined1 *puStack_2e0;" type_identifier (pointer_declarator "*puStack_2e0" * identifier) ;) (declaration "undefined1 *puStack_2dc;" type_identifier (pointer_declarator "*puStack_2dc" * identifier) ;) (declaration "uint uStack_2d8;" type_identifier identifier ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "sigset_t *psStack_2d0;" type_identifier (pointer_declarator "*psStack_2d0" * identifier) ;) (declaration "int iStack_2cc;" primitive_type identifier ;) (declaration "int *piStack_2c8;" primitive_type (pointer_declarator "*piStack_2c8" * identifier) ;) (declaration "int *piStack_2c4;" primitive_type (pointer_declarator "*piStack_2c4" * identifier) ;) (declaration "int *piStack_2c0;" primitive_type (pointer_declarator "*piStack_2c0" * identifier) ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "undefined *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "undefined1 auStack_29c [128];" type_identifier (array_declarator "auStack_29c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_21c [128];" type_identifier (array_declarator "auStack_21c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "undefined *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "sigset_t *psStack_194;" type_identifier (pointer_declarator "*psStack_194" * identifier) ;) (declaration "sigset_t *psStack_190;" type_identifier (pointer_declarator "*psStack_190" * identifier) ;) (declaration "int *piStack_18c;" primitive_type (pointer_declarator "*piStack_18c" * identifier) ;) (declaration "undefined *puStack_188;" type_identifier (pointer_declarator "*puStack_188" * identifier) ;) (declaration "undefined *puStack_184;" type_identifier (pointer_declarator "*puStack_184" * identifier) ;) (declaration "int *piStack_180;" primitive_type (pointer_declarator "*piStack_180" * identifier) ;) (declaration "undefined *puStack_17c;" type_identifier (pointer_declarator "*puStack_17c" * identifier) ;) (declaration "int iStack_178;" primitive_type identifier ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "int local_144;" primitive_type identifier ;) (declaration "sigset_t set;" type_identifier identifier ;) (declaration "sigset_t oset;" type_identifier identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar41 = PTR___environ_00145154;" (assignment_expression "puVar41 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "piVar39 = (int *)PTR_job_control_001448a8;" (assignment_expression "piVar39 = (int *)PTR_job_control_001448a8" identifier = (cast_expression "(int *)PTR_job_control_001448a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar36 = &oset;" (assignment_expression "psVar36 = &oset" identifier = (pointer_expression "&oset" & identifier)) ;) (expression_statement "psVar30 = &set;" (assignment_expression "psVar30 = &set" identifier = (pointer_expression "&set" & identifier)) ;) (expression_statement "pid_00 = *(uint *)PTR___stack_chk_guard_001464dc;" (assignment_expression "pid_00 = *(uint *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_001464dc" * (cast_expression "(uint *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(psVar30);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(psVar30)" (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 "(psVar30)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(psVar30,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(psVar30,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 "(psVar30,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(psVar36);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(psVar36)" (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 "(psVar36)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,psVar30,psVar36)" (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,psVar30,psVar36)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *piVar39;" (assignment_expression "iVar5 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar41 + -0x70d8) = 0;" (assignment_expression "*(undefined4 *)(puVar41 + -0x70d8) = 0" (pointer_expression "*(undefined4 *)(puVar41 + -0x70d8)" * (cast_expression "(undefined4 *)(puVar41 + -0x70d8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + -0x70d8)" ( (binary_expression "puVar41 + -0x70d8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar41 + -0x70d4) = 0;" (assignment_expression "*(undefined4 *)(puVar41 + -0x70d4) = 0" (pointer_expression "*(undefined4 *)(puVar41 + -0x70d4)" * (cast_expression "(undefined4 *)(puVar41 + -0x70d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + -0x70d4)" ( (binary_expression "puVar41 + -0x70d4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);\n    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar20;\n  }\n  else {\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }" if (parenthesized_expression "((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0))" ( (binary_expression "(iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 4) != 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 4)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 4" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);\n    psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar20;\n  }" { (expression_statement "psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64);" (assignment_expression "psVar30 = (sigset_t *)(PTR_LAB_00144ff0 + 0x4a64)" identifier = (cast_expression "(sigset_t *)(PTR_LAB_00144ff0 + 0x4a64)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x4a64)" ( (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal) )))) ;) (expression_statement "psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);" (assignment_expression "psVar6 = (sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" identifier = (cast_expression "(sigset_t *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,PTR_LAB_00144ff0 + 0x4a64)" ( number_literal , (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = (int *)PTR___environ_00145154;" (assignment_expression "unaff_s6 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (psVar6 == psVar30) {\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" if (parenthesized_expression "(psVar6 == psVar30)" ( (binary_expression "psVar6 == psVar30" identifier == identifier) )) (compound_statement "{\n      psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }" { (expression_statement "psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460);" (assignment_expression "psVar6 = *(sigset_t **)(PTR_data_start_00144568 + 0x460)" identifier = (pointer_expression "*(sigset_t **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(sigset_t **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" else (compound_statement "{\n      *(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" { (expression_statement "*(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6;" (assignment_expression "*(sigset_t **)(PTR_data_start_00144568 + 0x460) = psVar6" (pointer_expression "*(sigset_t **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(sigset_t **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc)" * (cast_expression "(undefined4 *)((int)unaff_s6 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + -0x70dc)" ( (binary_expression "(int)unaff_s6 + -0x70dc" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (psVar6 == (sigset_t *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" if (parenthesized_expression "(psVar6 == (sigset_t *)0x1)" ( (binary_expression "psVar6 == (sigset_t *)0x1" identifier == (cast_expression "(sigset_t *)0x1" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) })) (expression_statement "piVar20 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar20 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_144 = *(int *)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(int *)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(int *)PTR_last_command_exit_value_001445e0" * (cast_expression "(int *)PTR_last_command_exit_value_001445e0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar39 == 0)" ( (binary_expression "*piVar39 == 0" (pointer_expression "*piVar39" * identifier) == number_literal) ))) )) (compound_statement "{\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" { (if_statement "if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" if (parenthesized_expression "(*(int *)PTR_terminating_signal_00144834 != 0)" ( (binary_expression "*(int *)PTR_terminating_signal_00144834 != 0" (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_terminating_signal_00144834)" ( (pointer_expression "*(undefined4 *)PTR_terminating_signal_00144834" * (cast_expression "(undefined4 *)PTR_terminating_signal_00144834" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "iVar5 = *piVar20;" (assignment_expression "iVar5 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) }) (else_clause "else {\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }" else (compound_statement "{\n    local_144 = *(int *)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar20 = (int *)PTR_terminating_signal_00144834;\n  }" { (expression_statement "local_144 = *(int *)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(int *)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(int *)PTR_last_command_exit_value_001445e0" * (cast_expression "(int *)PTR_last_command_exit_value_001445e0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar5 = *(int *)PTR_terminating_signal_00144834;" (assignment_expression "iVar5 = *(int *)PTR_terminating_signal_00144834" identifier = (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar20 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar20 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n  }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar20);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar20)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar20)" ( (pointer_expression "*piVar20" * identifier) ))) ;) })) (expression_statement "puVar3 = PTR_wait_intr_flag_00145168;" (assignment_expression "puVar3 = PTR_wait_intr_flag_00145168" identifier = identifier) ;) (expression_statement "puVar34 = PTR___environ_00145154;" (assignment_expression "puVar34 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar2 = PTR_wait_builtin_00145150;" (assignment_expression "puVar2 = PTR_wait_builtin_00145150" identifier = identifier) ;) (expression_statement "puVar1 = PTR_this_shell_builtin_00144a84;" (assignment_expression "puVar1 = PTR_this_shell_builtin_00144a84" identifier = identifier) ;) (if_statement "if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    psVar6 = (sigset_t *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);\n    piVar42 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n    puVar25 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(sigset_t **)(puVar25 + 0x460) = psVar31;\n    piVar42[-0x1c37] = 0;\n    unaff_s6 = piVar42;\nLAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }\n    psVar32 = psVar6;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }" if (parenthesized_expression "((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150))" ( (binary_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" (parenthesized_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0))" ( (binary_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" (parenthesized_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0))" ( (binary_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)" (parenthesized_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0)" ( (binary_expression "*(int *)PTR_wait_intr_flag_00145168 == 0" (pointer_expression "*(int *)PTR_wait_intr_flag_00145168" * (cast_expression "(int *)PTR_wait_intr_flag_00145168" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 == 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 == 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) || (parenthesized_expression "(*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" ( (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" ( (comma_expression "psVar6 = psVar36, puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "psVar6 = psVar36" identifier = identifier) , (comma_expression "puVar35 = puVar41,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar35 = puVar41" identifier = identifier) , (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier))) ))) )) (compound_statement "{\n    unaff_s8 = 0;\n    psVar6 = (sigset_t *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);\n    piVar42 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n    puVar25 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(sigset_t **)(puVar25 + 0x460) = psVar31;\n    piVar42[-0x1c37] = 0;\n    unaff_s6 = piVar42;\nLAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }\n    psVar32 = psVar6;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }\n  }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "psVar6 = (sigset_t *)0xffffffff;" (assignment_expression "psVar6 = (sigset_t *)0xffffffff" identifier = (cast_expression "(sigset_t *)0xffffffff" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x7f78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x7f78)" ( (binary_expression "PTR_LAB_00144ff0 + 0x7f78" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x403c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x403c)" ( (binary_expression "PTR_LAB_00144ff0 + 0x403c" identifier + number_literal) )))) ;) (do_statement "do {\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    } while (iVar19 == 1);" do (compound_statement "{\n      do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      in_a3 = (int *)PTR_jobs_00144e5c;\n    }" { (do_statement "do {\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);" do (compound_statement "{\n        psVar30 = (sigset_t *)0xffffffff;\n        iVar5 = *(int *)(puVar34 + -0x70dc);\n        puVar35 = puVar34;\n        if (pid == -1) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(pid,0,0);\n        psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        psVar31 = (sigset_t *)PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar19 = *(int *)(unaff_s8 + 0xc);\n        if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }\n        psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n        puVar25 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;\n        if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      }" { (expression_statement "psVar30 = (sigset_t *)0xffffffff;" (assignment_expression "psVar30 = (sigset_t *)0xffffffff" identifier = (cast_expression "(sigset_t *)0xffffffff" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = *(int *)(puVar34 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar34 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) ))))) ;) (expression_statement "puVar35 = puVar34;" (assignment_expression "puVar35 = puVar34" identifier = identifier) ;) (if_statement "if (pid == -1) goto LAB_0006a0c8;" if (parenthesized_expression "(pid == -1)" ( (binary_expression "pid == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (*pcVar8)(pid,0,0);" (assignment_expression "unaff_s8 = (*pcVar8)(pid,0,0)" identifier = (call_expression "(*pcVar8)(pid,0,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(pid,0,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158;" (assignment_expression "psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158" identifier = (cast_expression "(sigset_t *)PTR_wait_for_background_pids_00145158" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar31 = (sigset_t *)PTR_data_start_00144568;" (assignment_expression "psVar31 = (sigset_t *)PTR_data_start_00144568" identifier = (cast_expression "(sigset_t *)PTR_data_start_00144568" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (unaff_s8 == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(pcVar15,pid);\n          psVar36 = *(sigset_t **)((int)psVar31 + 0x460);\n          if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" { (expression_statement "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(pid_t *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(pid_t *)PTR_shell_pgrp_001448ac" * (cast_expression "(pid_t *)PTR_shell_pgrp_001448ac" ( (type_descriptor "pid_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,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,psVar36,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);" (assignment_expression "pcVar15 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x7cdc,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x7cdc" identifier + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar15,pid);" (call_expression "internal_error(pcVar15,pid)" identifier (argument_list "(pcVar15,pid)" ( identifier , identifier ))) ;) (expression_statement "psVar36 = *(sigset_t **)((int)psVar31 + 0x460);" (assignment_expression "psVar36 = *(sigset_t **)((int)psVar31 + 0x460)" identifier = (pointer_expression "*(sigset_t **)((int)psVar31 + 0x460)" * (cast_expression "(sigset_t **)((int)psVar31 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar31 + 0x460)" ( (binary_expression "(int)psVar31 + 0x460" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if (psVar36 == psVar32) {\n            local_144 = 0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(psVar36 == psVar32)" ( (binary_expression "psVar36 == psVar32" identifier == identifier) )) (compound_statement "{\n            local_144 = 0x7f;\n          }" { (expression_statement "local_144 = 0x7f;" (assignment_expression "local_144 = 0x7f" identifier = number_literal) ;) }) (else_clause "else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" else (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = 0x7f;\n            *(sigset_t **)((int)psVar31 + 0x460) = psVar32;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = 0x7f;" (assignment_expression "local_144 = 0x7f" identifier = number_literal) ;) (expression_statement "*(sigset_t **)((int)psVar31 + 0x460) = psVar32;" (assignment_expression "*(sigset_t **)((int)psVar31 + 0x460) = psVar32" (pointer_expression "*(sigset_t **)((int)psVar31 + 0x460)" * (cast_expression "(sigset_t **)((int)psVar31 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)psVar31 + 0x460)" ( (binary_expression "(int)psVar31 + 0x460" (cast_expression "(int)psVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a040;" goto statement_identifier ;) })) (expression_statement "iVar19 = *(int *)(unaff_s8 + 0xc);" (assignment_expression "iVar19 = *(int *)(unaff_s8 + 0xc)" identifier = (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (psVar6 == psVar30) {\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" if (parenthesized_expression "(psVar6 == psVar30)" ( (binary_expression "psVar6 == psVar30" identifier == identifier) )) (compound_statement "{\n          if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }\n          iVar5 = *(int *)(puVar34 + -0x70dc);\n          if (iVar19 == 1) goto LAB_0006a0c8;\n        }" { (if_statement "if (0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)) {\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }" if (parenthesized_expression "(0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18))" ( (binary_expression "0 < (int)*(sigset_t **)(PTR_js_00144e58 + 0x18)" number_literal < (cast_expression "(int)*(sigset_t **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(sigset_t **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(sigset_t **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n            psVar30 = (sigset_t *)0x0;\n            in_a3 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);\n          }" { (expression_statement "psVar30 = (sigset_t *)0x0;" (assignment_expression "psVar30 = (sigset_t *)0x0" identifier = (cast_expression "(sigset_t *)0x0" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_a3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "in_a3 = *(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))) ;) (do_statement "do {\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            } while (*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30);" do (compound_statement "{\n              iVar9 = *in_a3;\n              if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }\n              psVar30 = (sigset_t *)((int)psVar30->__val + 1);\n              in_a3 = in_a3 + 1;\n            }" { (expression_statement "iVar9 = *in_a3;" (assignment_expression "iVar9 = *in_a3" identifier = (pointer_expression "*in_a3" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar42 = *(int **)(iVar9 + 4);\n                do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);\n              }" { (expression_statement "piVar42 = *(int **)(iVar9 + 4);" (assignment_expression "piVar42 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                } while (*(int **)(iVar9 + 4) != piVar42);" do (compound_statement "{\n                  if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar42 = (int *)*piVar42;\n                }" { (if_statement "if (pid == piVar42[1]) {\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" if (parenthesized_expression "(pid == piVar42[1])" ( (binary_expression "pid == piVar42[1]" identifier == (subscript_expression "piVar42[1]" identifier [ number_literal ])) )) (compound_statement "{\n                    if (iVar19 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" { (if_statement "if (iVar19 == 1) goto LAB_0006a0c0;" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00069c50;" goto statement_identifier ;) })) (expression_statement "piVar42 = (int *)*piVar42;" (assignment_expression "piVar42 = (int *)*piVar42" identifier = (cast_expression "(int *)*piVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar42" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar9 + 4) != piVar42)" ( (binary_expression "*(int **)(iVar9 + 4) != piVar42" (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "psVar30 = (sigset_t *)((int)psVar30->__val + 1);" (assignment_expression "psVar30 = (sigset_t *)((int)psVar30->__val + 1)" identifier = (cast_expression "(sigset_t *)((int)psVar30->__val + 1)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar30->__val + 1)" ( (binary_expression "(int)psVar30->__val + 1" (cast_expression "(int)psVar30->__val" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar30->__val" identifier -> field_identifier)) + number_literal) )))) ;) (expression_statement "in_a3 = in_a3 + 1;" (assignment_expression "in_a3 = in_a3 + 1" identifier = (binary_expression "in_a3 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30)" ( (binary_expression "*(sigset_t **)(PTR_js_00144e58 + 0x18) != psVar30" (pointer_expression "*(sigset_t **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(sigset_t **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "iVar5 = *(int *)(puVar34 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar34 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 1) goto LAB_0006a0c8;" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) }) (else_clause "else {\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" else (compound_statement "{\n          psVar30 = psVar6;\n          if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;\n          *(int *)(puVar34 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar34 + -0x7040) = 0;\n          *(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar34;\n          if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" { (expression_statement "psVar30 = psVar6;" (assignment_expression "psVar30 = psVar6" identifier = identifier) ;) (if_statement "if (iVar19 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n          }" { (labeled_statement "LAB_0006a0c0:\n            iVar5 = *(int *)(puVar34 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar34 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar34 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "psVar6 = psVar30;" (assignment_expression "psVar6 = psVar30" identifier = identifier) ;) }) (else_clause "else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" else (compound_statement "{\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);\n            psVar6 = psVar30;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" { (expression_statement "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)psVar6 * 4" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)psVar6 * 4" (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (labeled_statement "LAB_00069c50:\n            iVar5 = *(int *)(puVar34 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar34 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar34 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "psVar6 = psVar30;" (assignment_expression "psVar6 = psVar30" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;" if (parenthesized_expression "(*(int *)(iVar9 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar9 + 0xc) != 1" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00069c60;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006a0c8:\n          *(undefined4 *)(puVar34 + -0x7040) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(puVar34 + -0x7040) = 1;" (assignment_expression "*(undefined4 *)(puVar34 + -0x7040) = 1" (pointer_expression "*(undefined4 *)(puVar34 + -0x7040)" * (cast_expression "(undefined4 *)(puVar34 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x7040)" ( (binary_expression "puVar34 + -0x7040" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(int *)(puVar34 + -0x70dc) = iVar5 + 1;" (assignment_expression "*(int *)(puVar34 + -0x70dc) = iVar5 + 1" (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (*pcVar7)(1);" (assignment_expression "iVar5 = (*pcVar7)(1)" identifier = (call_expression "(*pcVar7)(1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x7040) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x7040) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x7040)" * (cast_expression "(undefined4 *)(puVar34 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x7040)" ( (binary_expression "puVar34 + -0x7040" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1;" (assignment_expression "*(int *)(puVar34 + -0x70dc) = *(int *)(puVar34 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar34 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar34 + -0x70dc)" * (cast_expression "(int *)(puVar34 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s6 = (int *)puVar34;" (assignment_expression "unaff_s6 = (int *)puVar34" identifier = (cast_expression "(int *)puVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)) {\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" if (parenthesized_expression "((iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10))" ( (binary_expression "(iVar5 == -1) &&\n             (piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)" (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) && (parenthesized_expression "(piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10)" ( (comma_expression "piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10" (assignment_expression "piVar42 = (int *)(*(code *)PTR___errno_location_0014633c)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0014633c)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0014633c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0014633c)" ( (pointer_expression "*(code *)PTR___errno_location_0014633c" * (cast_expression "(code *)PTR___errno_location_0014633c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (comma_expression "psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158, puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10" (assignment_expression "psVar32 = (sigset_t *)PTR_wait_for_background_pids_00145158" identifier = (cast_expression "(sigset_t *)PTR_wait_for_background_pids_00145158" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "puVar10 = PTR_js_00144e58,\n             puVar25 = PTR_data_start_00144568, *piVar42 == 10" (assignment_expression "puVar10 = PTR_js_00144e58" identifier = identifier) , (comma_expression "puVar25 = PTR_data_start_00144568, *piVar42 == 10" (assignment_expression "puVar25 = PTR_data_start_00144568" identifier = identifier) , (binary_expression "*piVar42 == 10" (pointer_expression "*piVar42" * identifier) == number_literal))))) ))) )) (compound_statement "{\n            if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar10 + 4) = 0;\n            if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }\n            if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" { (if_statement "if (*(undefined **)puVar1 == puVar2) {\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" if (parenthesized_expression "(*(undefined **)puVar1 == puVar2)" ( (binary_expression "*(undefined **)puVar1 == puVar2" (pointer_expression "*(undefined **)puVar1" * (cast_expression "(undefined **)puVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == identifier) )) (compound_statement "{\n              psVar31 = (sigset_t *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" { (expression_statement "psVar31 = (sigset_t *)puVar34;" (assignment_expression "psVar31 = (sigset_t *)puVar34" identifier = (cast_expression "(sigset_t *)puVar34" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = -1;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n                local_144 = -1;\n              }" { (expression_statement "local_144 = -1;" (assignment_expression "local_144 = -1" identifier = number_literal) ;) }) (else_clause "else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }" else (compound_statement "{\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = -1;\n                *(sigset_t **)(puVar25 + 0x460) = psVar32;\n                *(undefined4 *)(puVar34 + -0x70dc) = 0;\n              }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = -1;" (assignment_expression "local_144 = -1" identifier = number_literal) ;) (expression_statement "*(sigset_t **)(puVar25 + 0x460) = psVar32;" (assignment_expression "*(sigset_t **)(puVar25 + 0x460) = psVar32" (pointer_expression "*(sigset_t **)(puVar25 + 0x460)" * (cast_expression "(sigset_t **)(puVar25 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar34 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(puVar34 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(puVar34 + -0x70dc)" * (cast_expression "(undefined4 *)(puVar34 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + -0x70dc)" ( (binary_expression "puVar34 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) (if_statement "if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" { (expression_statement "*(undefined4 *)(unaff_s8 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s8 + 8) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 8) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 8)" * (cast_expression "(undefined4 *)(unaff_s8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar10 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar10 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar10 + 4)" * (cast_expression "(undefined4 *)(puVar10 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 4)" ( (binary_expression "puVar10 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (psVar6 != (sigset_t *)0xffffffff) {\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }" if (parenthesized_expression "(psVar6 != (sigset_t *)0xffffffff)" ( (binary_expression "psVar6 != (sigset_t *)0xffffffff" identifier != (cast_expression "(sigset_t *)0xffffffff" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar5 = *(int *)(puVar10 + 0x28);\n              in_a3 = *(int **)PTR_jobs_00144e5c;\n              iVar19 = in_a3[(int)psVar6];\n              *(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;\n              *(undefined4 *)(iVar19 + 0xc) = 4;\n              *(int *)(puVar10 + 0x28) = iVar5 + 1;\n            }" { (expression_statement "iVar5 = *(int *)(puVar10 + 0x28);" (assignment_expression "iVar5 = *(int *)(puVar10 + 0x28)" identifier = (pointer_expression "*(int *)(puVar10 + 0x28)" * (cast_expression "(int *)(puVar10 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x28)" ( (binary_expression "puVar10 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "in_a3 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "in_a3 = *(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 "iVar19 = in_a3[(int)psVar6];" (assignment_expression "iVar19 = in_a3[(int)psVar6]" identifier = (subscript_expression "in_a3[(int)psVar6]" identifier [ (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "*(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1;" (assignment_expression "*(int *)(puVar10 + 8) = *(int *)(puVar10 + 8) + 1" (pointer_expression "*(int *)(puVar10 + 8)" * (cast_expression "(int *)(puVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar10 + 8) + 1" (pointer_expression "*(int *)(puVar10 + 8)" * (cast_expression "(int *)(puVar10 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 8)" ( (binary_expression "puVar10 + 8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar19 + 0xc) = 4;" (assignment_expression "*(undefined4 *)(iVar19 + 0xc) = 4" (pointer_expression "*(undefined4 *)(iVar19 + 0xc)" * (cast_expression "(undefined4 *)(iVar19 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0xc)" ( (binary_expression "iVar19 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar10 + 0x28) = iVar5 + 1;" (assignment_expression "*(int *)(puVar10 + 0x28) = iVar5 + 1" (pointer_expression "*(int *)(puVar10 + 0x28)" * (cast_expression "(int *)(puVar10 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x28)" ( (binary_expression "puVar10 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) })) (if_statement "if (pid == -1) {\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" if (parenthesized_expression "(pid == -1)" ( (binary_expression "pid == -1" identifier == number_literal) )) (compound_statement "{\n              puVar25 = PTR_data_start_00144568;\n              psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;\n              piVar42 = (int *)puVar34;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" { (expression_statement "puVar25 = PTR_data_start_00144568;" (assignment_expression "puVar25 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;" (assignment_expression "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158" identifier = (cast_expression "(sigset_t *)PTR_wait_for_background_pids_00145158" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar42 = (int *)puVar34;" (assignment_expression "piVar42 = (int *)puVar34" identifier = (cast_expression "(int *)puVar34" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00069d48;" goto statement_identifier ;)) (goto_statement "goto LAB_00069d30;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" statement_identifier : (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)) {\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar39 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar39 == 0)" ( (binary_expression "*piVar39 == 0" (pointer_expression "*piVar39" * identifier) == number_literal) ))) )) (compound_statement "{\n          if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" { (if_statement "if (*piVar20 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n          }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar20);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar20)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar20)" ( (pointer_expression "*piVar20" * identifier) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if (*piVar20 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_termsig_handler_00144838)(*piVar20);\n        }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar20);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar20)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar20)" ( (pointer_expression "*piVar20" * identifier) ))) ;) })) (expression_statement "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;" (assignment_expression "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158" identifier = (cast_expression "(sigset_t *)PTR_wait_for_background_pids_00145158" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar25 = PTR_data_start_00144568;" (assignment_expression "puVar25 = PTR_data_start_00144568" identifier = identifier) ;) (if_statement "if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)) goto LAB_0006a708;" if (parenthesized_expression "((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2))" ( (binary_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)) &&\n           (psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)" (parenthesized_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0))" ( (binary_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)" (parenthesized_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0))" ( (binary_expression "(*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)" (parenthesized_expression "(*(int *)puVar3 != 0)" ( (binary_expression "*(int *)puVar3 != 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 != 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 != 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) && (parenthesized_expression "(puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0)" ( (comma_expression "puVar10 = *(undefined **)puVar1, puVar10 != (undefined *)0x0" (assignment_expression "puVar10 = *(undefined **)puVar1" identifier = (pointer_expression "*(undefined **)puVar1" * (cast_expression "(undefined **)puVar1" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) , (binary_expression "puVar10 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(psVar30 = (sigset_t *)puVar34, puVar10 == puVar2)" ( (comma_expression "psVar30 = (sigset_t *)puVar34, puVar10 == puVar2" (assignment_expression "psVar30 = (sigset_t *)puVar34" identifier = (cast_expression "(sigset_t *)puVar34" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "puVar10 == puVar2" identifier == identifier)) ))) )) (goto_statement "goto LAB_0006a708;" goto statement_identifier ;)) (if_statement "if (pid == -1) {\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" if (parenthesized_expression "(pid == -1)" ( (binary_expression "pid == -1" identifier == number_literal) )) (compound_statement "{\n          psVar32 = psVar6;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" { (expression_statement "psVar32 = psVar6;" (assignment_expression "psVar32 = psVar6" identifier = identifier) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(sigset_t **)(puVar25 + 0x460) = psVar31;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(sigset_t **)(puVar25 + 0x460) = psVar31;" (assignment_expression "*(sigset_t **)(puVar25 + 0x460) = psVar31" (pointer_expression "*(sigset_t **)(puVar25 + 0x460)" * (cast_expression "(sigset_t **)(puVar25 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) }) while (parenthesized_expression "(*(int *)(unaff_s8 + 0xc) == 1)" ( (binary_expression "*(int *)(unaff_s8 + 0xc) == 1" (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) == number_literal) )) ;) (if_statement "if (psVar6 == (sigset_t *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" if (parenthesized_expression "(psVar6 == (sigset_t *)0xffffffff)" ( (binary_expression "psVar6 == (sigset_t *)0xffffffff" identifier == (cast_expression "(sigset_t *)0xffffffff" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" { (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(sigset_t **)(puVar25 + 0x460) = psVar31;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(sigset_t **)(puVar25 + 0x460) = psVar31;" (assignment_expression "*(sigset_t **)(puVar25 + 0x460) = psVar31" (pointer_expression "*(sigset_t **)(puVar25 + 0x460)" * (cast_expression "(sigset_t **)(puVar25 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a2e0;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (int *)((int)psVar6 * 4);" (assignment_expression "unaff_s6 = (int *)((int)psVar6 * 4)" identifier = (cast_expression "(int *)((int)psVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar6 * 4)" ( (binary_expression "(int)psVar6 * 4" (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "in_a3 = (int *)PTR_jobs_00144e5c;" (assignment_expression "in_a3 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) ;) (expression_statement "piVar42 = (int *)PTR___environ_00145154;" (assignment_expression "piVar42 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\nLAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;\n      local_144 = job_exit_status((int)psVar6);\n      uVar11 = raw_job_exit_status((int)psVar6);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar1 = PTR_subshell_environment_00144674;\n      if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar20 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" { (labeled_statement "LAB_00069d68:\n      in_a3 = (int *)PTR_jobs_00144e5c;" statement_identifier : (expression_statement "in_a3 = (int *)PTR_jobs_00144e5c;" (assignment_expression "in_a3 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_144 = job_exit_status((int)psVar6);" (assignment_expression "local_144 = job_exit_status((int)psVar6)" identifier = (call_expression "job_exit_status((int)psVar6)" identifier (argument_list "((int)psVar6)" ( (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar11 = raw_job_exit_status((int)psVar6);" (assignment_expression "uVar11 = raw_job_exit_status((int)psVar6)" identifier = (call_expression "raw_job_exit_status((int)psVar6)" identifier (argument_list "((int)psVar6)" ( (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "uVar11 = uVar11 & 0x7f;" (assignment_expression "uVar11 = uVar11 & 0x7f" identifier = (binary_expression "uVar11 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        uVar11 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) })) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar1 = PTR_subshell_environment_00144674;" (assignment_expression "puVar1 = PTR_subshell_environment_00144674" identifier = identifier) ;) (if_statement "if (iVar19 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(iVar19 == 2)" ( (binary_expression "iVar19 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;\nLAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a460:\n        local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;" statement_identifier : (expression_statement "local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80;" (assignment_expression "local_144 = ((uVar11 << 0x10) >> 0x18) + 0x80" identifier = (binary_expression "((uVar11 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar11 << 0x10) >> 0x18)" ( (binary_expression "(uVar11 << 0x10) >> 0x18" (parenthesized_expression "(uVar11 << 0x10)" ( (binary_expression "uVar11 << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal)) ;)) (labeled_statement "LAB_00069ddc:\n        iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*in_a3 + (int)unaff_s6)" * (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) }) (else_clause "else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" else (if_statement "if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;" if (parenthesized_expression "((uVar11 & 0xff) == 0x7f)" ( (binary_expression "(uVar11 & 0xff) == 0x7f" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006a460;" goto statement_identifier ;)) (goto_statement "goto LAB_00069ddc;" goto statement_identifier ;) })))) (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" if (parenthesized_expression "(((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))" ( (binary_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0)" (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" { (if_statement "if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" if (parenthesized_expression "((uVar11 & 0x11) == 0)" ( (binary_expression "(uVar11 & 0x11) == 0" (parenthesized_expression "(uVar11 & 0x11)" ( (binary_expression "uVar11 & 0x11" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar1;\n        }" { (expression_statement "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(pid_t *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(pid_t *)PTR_shell_pgrp_001448ac" * (cast_expression "(pid_t *)PTR_shell_pgrp_001448ac" ( (type_descriptor "pid_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar11 = *(uint *)puVar1;" (assignment_expression "uVar11 = *(uint *)puVar1" identifier = (pointer_expression "*(uint *)puVar1" * (cast_expression "(uint *)puVar1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" else (compound_statement "{\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" { (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) })) (expression_statement "piVar20 = (int *)PTR_interactive_shell_00144598;" (assignment_expression "piVar20 = (int *)PTR_interactive_shell_00144598" identifier = (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }" if (parenthesized_expression "(*(int *)PTR_interactive_shell_00144598 != 0)" ( (binary_expression "*(int *)PTR_interactive_shell_00144598 != 0" (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);\n        pid = (pid_t)puVar25;\n        goto LAB_0006a00c;\n      }" { (if_statement "if (uVar11 == 0) {\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          piVar42 = *(int **)(iVar5 + 4);\n          do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          pid = (pid_t)puVar25;\n          if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar25 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);\n        }" { (expression_statement "iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*in_a3 + (int)unaff_s6)" * (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "piVar42 = *(int **)(iVar5 + 4);" (assignment_expression "piVar42 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          } while (*(int **)(iVar5 + 4) != piVar42);" do (compound_statement "{\n            psVar31 = (sigset_t *)(piVar42[2] & 0x7f);\n            puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);\n            if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar42 = (int *)*piVar42;\n          }" { (expression_statement "psVar31 = (sigset_t *)(piVar42[2] & 0x7f);" (assignment_expression "psVar31 = (sigset_t *)(piVar42[2] & 0x7f)" identifier = (cast_expression "(sigset_t *)(piVar42[2] & 0x7f)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar42[2] & 0x7f)" ( (binary_expression "piVar42[2] & 0x7f" (subscript_expression "piVar42[2]" identifier [ number_literal ]) & number_literal) )))) ;) (expression_statement "puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1);" (assignment_expression "puVar25 = (undefined *)((int)(char)((char)psVar31 + '\x01') >> 1)" identifier = (cast_expression "(undefined *)((int)(char)((char)psVar31 + '\x01') >> 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)((char)psVar31 + '\x01') >> 1)" ( (binary_expression "(int)(char)((char)psVar31 + '\x01') >> 1" (cast_expression "(int)(char)((char)psVar31 + '\x01')" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((char)psVar31 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)psVar31 + '\x01')" ( (binary_expression "(char)psVar31 + '\x01'" (cast_expression "(char)psVar31" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )))) >> number_literal) )))) ;) (if_statement "if ((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" if (parenthesized_expression "((0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f))" ( (binary_expression "(0 < (int)puVar25) || ((piVar42[2] & 0xffU) == 0x7f)" (parenthesized_expression "(0 < (int)puVar25)" ( (binary_expression "0 < (int)puVar25" number_literal < (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((piVar42[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar42[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar42[2] & 0xffU)" ( (binary_expression "piVar42[2] & 0xffU" (subscript_expression "piVar42[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" { (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 == 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 == 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;)) (if_statement "if ((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;" if (parenthesized_expression "((*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6) &&\n                 (iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6)" ( (binary_expression "*(sigset_t **)(PTR_js_00144e58 + 0x2c) != psVar6" (pointer_expression "*(sigset_t **)(PTR_js_00144e58 + 0x2c)" * (cast_expression "(sigset_t **)(PTR_js_00144e58 + 0x2c)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x2c)" ( (binary_expression "PTR_js_00144e58 + 0x2c" identifier + number_literal) )))) != identifier) )) && (parenthesized_expression "(iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (comma_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0" (assignment_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*in_a3 + (int)unaff_s6)" * (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00069ef0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;) })) (expression_statement "piVar42 = (int *)*piVar42;" (assignment_expression "piVar42 = (int *)*piVar42" identifier = (cast_expression "(int *)*piVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar42" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar42)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar42" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }" if (parenthesized_expression "((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0)" ( (binary_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0" (parenthesized_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000)" ( (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0x4000" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);\n          }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00069ee4:\n            iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*in_a3 + (int)unaff_s6)" * (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) })) (labeled_statement "LAB_00069ef0:\n          if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;" statement_identifier : (if_statement "if ((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)) goto LAB_0006a008;" if (parenthesized_expression "((((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2))" ( (binary_expression "(((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)) ||\n             (psVar31 != (sigset_t *)0x2)" (parenthesized_expression "(((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1))" ( (binary_expression "((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar25 < 1)" (parenthesized_expression "((*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5))" ( (binary_expression "(*piVar39 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)" (parenthesized_expression "(*piVar39 == 0)" ( (binary_expression "*piVar39 == 0" (pointer_expression "*piVar39" * identifier) == number_literal) )) || (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 5) != 5)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 5) != 5" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 5)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 5" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((int)puVar25 < 1)" ( (binary_expression "(int)puVar25 < 1" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(psVar31 != (sigset_t *)0x2)" ( (binary_expression "psVar31 != (sigset_t *)0x2" identifier != (cast_expression "(sigset_t *)0x2" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;))) (expression_statement "iVar5 = signal_is_trapped(2);" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "pid = (pid_t)puVar25;" (assignment_expression "pid = (pid_t)puVar25" identifier = (cast_expression "(pid_t)puVar25" ( (type_descriptor "pid_t" type_identifier) ) identifier)) ;) (if_statement "if ((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;" if (parenthesized_expression "((((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))))" ( (binary_expression "(((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" (parenthesized_expression "(((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )))" ( (binary_expression "((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" (parenthesized_expression "((iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))))" ( (binary_expression "(iVar5 == 0) &&\n               ((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "((piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" ( (parenthesized_expression "(piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))" ( (comma_expression "piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (assignment_expression "piVar42 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (parenthesized_expression "((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" ( (parenthesized_expression "(0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))" ( (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)" (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898" number_literal < (pointer_expression "*(int *)PTR_shell_compatibility_level_00144898" * (cast_expression "(int *)PTR_shell_compatibility_level_00144898" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) && (parenthesized_expression "(*(int *)PTR_executing_list_00144cc0 != 0)" ( (binary_expression "*(int *)PTR_executing_list_00144cc0 != 0" (pointer_expression "*(int *)PTR_executing_list_00144cc0" * (cast_expression "(int *)PTR_executing_list_00144cc0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) )))) )) ))) )) || (parenthesized_expression "((iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" ( (parenthesized_expression "(iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )" ( (comma_expression "iVar5 = signal_is_trapped(2), puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (comma_expression "puVar41 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "puVar41 = PTR_stdout_001462f8" identifier = identifier) , (binary_expression "iVar5 != 0 &&\n               (piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (binary_expression "iVar5 != 0" identifier != number_literal) && (parenthesized_expression "(piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" ( (comma_expression "piVar42 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0" (assignment_expression "piVar42 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))))) )) ))) )) || (parenthesized_expression "(((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" ( (parenthesized_expression "((*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))" ( (binary_expression "(*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" (parenthesized_expression "(*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "*piVar20 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)" (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" ( (comma_expression "piVar42 = (int *)PTR_interrupt_state_0014483c, pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "piVar42 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "pid = (pid_t)puVar41,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "pid = (pid_t)puVar41" identifier = (cast_expression "(pid_t)puVar41" ( (type_descriptor "pid_t" type_identifier) ) identifier)) , (binary_expression "*(int *)PTR_sourcelevel_00144d2c != 0" (pointer_expression "*(int *)PTR_sourcelevel_00144d2c" * (cast_expression "(int *)PTR_sourcelevel_00144d2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal))) ))) )) ))) )) (goto_statement "goto LAB_0006a714;" goto statement_identifier ;)) (expression_statement "puVar25 = PTR_stdout_001462f8;" (assignment_expression "puVar25 = PTR_stdout_001462f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);" (call_expression "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8)" (parenthesized_expression "(*(code *)PTR_putc_0014629c)" ( (pointer_expression "*(code *)PTR_putc_0014629c" * (cast_expression "(code *)PTR_putc_0014629c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,*(undefined4 *)PTR_stdout_001462f8)" ( number_literal , (pointer_expression "*(undefined4 *)PTR_stdout_001462f8" * (cast_expression "(undefined4 *)PTR_stdout_001462f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25);" (call_expression "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar25)" (parenthesized_expression "(*(code *)PTR_fflush_00146520)" ( (pointer_expression "*(code *)PTR_fflush_00146520" * (cast_expression "(code *)PTR_fflush_00146520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar25)" ( (pointer_expression "*(undefined4 *)puVar25" * (cast_expression "(undefined4 *)puVar25" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) }) (else_clause "else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" else (if_statement "if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(puVar41 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" { (expression_statement "iVar5 = *(int *)(puVar41 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar41 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar41 + -0x70d4)" * (cast_expression "(int *)(puVar41 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + -0x70d4)" ( (binary_expression "puVar41 + -0x70d4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006a3ac;" goto statement_identifier ;) })))) (labeled_statement "LAB_00069ffc:\n        unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (labeled_statement "LAB_0006a008:\n        iVar19 = *(int *)(iVar5 + 0xc);" statement_identifier : (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;)) (expression_statement "pid = (pid_t)puVar25;" (assignment_expression "pid = (pid_t)puVar25" identifier = (cast_expression "(pid_t)puVar25" ( (type_descriptor "pid_t" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_0006a00c;" goto statement_identifier ;) })) (if_statement "if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar5 = *(int *)(puVar41 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" { (expression_statement "iVar5 = *(int *)(puVar41 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar41 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar41 + -0x70d4)" * (cast_expression "(int *)(puVar41 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + -0x70d4)" ( (binary_expression "puVar41 + -0x70d4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }" statement_identifier : (if_statement "if (((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0))" ( (binary_expression "(iVar5 != 0) && (*(int *)(puVar41 + -0x70d8) == 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar41 + -0x70d8) == 0)" ( (binary_expression "*(int *)(puVar41 + -0x70d8) == 0" (pointer_expression "*(int *)(puVar41 + -0x70d8)" * (cast_expression "(int *)(puVar41 + -0x70d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar41 + -0x70d8)" ( (binary_expression "puVar41 + -0x70d8" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar25 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }\n        }" { (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,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,psVar36,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);" (assignment_expression "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0)" identifier = (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,0)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,0)" ( number_literal , number_literal )))) ;) (expression_statement "*(int *)(puVar25 + 0x460) = iVar5;" (assignment_expression "*(int *)(puVar25 + 0x460) = iVar5" (pointer_expression "*(int *)(puVar25 + 0x460)" * (cast_expression "(int *)(puVar25 + 0x460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar5 == 1) {\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n            if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }" { (if_statement "if (psVar31 != (sigset_t *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" if (parenthesized_expression "(psVar31 != (sigset_t *)0x1)" ( (binary_expression "psVar31 != (sigset_t *)0x1" identifier != (cast_expression "(sigset_t *)0x1" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(sigset_t **)(puVar25 + 0x460) = psVar31;\n              unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) (expression_statement "*(sigset_t **)(puVar25 + 0x460) = psVar31;" (assignment_expression "*(sigset_t **)(puVar25 + 0x460) = psVar31" (pointer_expression "*(sigset_t **)(puVar25 + 0x460)" * (cast_expression "(sigset_t **)(puVar25 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }" else (compound_statement "{\n            uVar29 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar29,2);\n          }" { (expression_statement "uVar29 = (*(code *)PTR_getpid_0014640c)();" (assignment_expression "uVar29 = (*(code *)PTR_getpid_0014640c)()" identifier = (call_expression "(*(code *)PTR_getpid_0014640c)()" (parenthesized_expression "(*(code *)PTR_getpid_0014640c)" ( (pointer_expression "*(code *)PTR_getpid_0014640c" * (cast_expression "(code *)PTR_getpid_0014640c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_001463b8)(uVar29,2);" (call_expression "(*(code *)PTR_kill_001463b8)(uVar29,2)" (parenthesized_expression "(*(code *)PTR_kill_001463b8)" ( (pointer_expression "*(code *)PTR_kill_001463b8" * (cast_expression "(code *)PTR_kill_001463b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar29,2)" ( identifier , number_literal ))) ;) }))) }))) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*in_a3 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*in_a3 + (int)unaff_s6)" * (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (uVar11 != 0) goto LAB_0006a008;" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" if (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piVar42 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);\n        if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        pid = (pid_t)puVar25;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" { (expression_statement "piVar42 = *(int **)(iVar5 + 4);" (assignment_expression "piVar42 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        } while (*(int **)(iVar5 + 4) != piVar42);" do (compound_statement "{\n          uVar11 = piVar42[2] & 0x7f;\n          cVar16 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;\n          piVar42 = (int *)*piVar42;\n        }" { (expression_statement "uVar11 = piVar42[2] & 0x7f;" (assignment_expression "uVar11 = piVar42[2] & 0x7f" identifier = (binary_expression "piVar42[2] & 0x7f" (subscript_expression "piVar42[2]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "cVar16 = (char)((char)uVar11 + '\x01') >> 1;" (assignment_expression "cVar16 = (char)((char)uVar11 + '\x01') >> 1" identifier = (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal)) ;) (if_statement "if (('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)) break;" if (parenthesized_expression "(('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f))" ( (binary_expression "('\0' < cVar16) || ((piVar42[2] & 0xffU) == 0x7f)" (parenthesized_expression "('\0' < cVar16)" ( (binary_expression "'\0' < cVar16" (char_literal "'\0'" ' escape_sequence ') < identifier) )) || (parenthesized_expression "((piVar42[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar42[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar42[2] & 0xffU)" ( (binary_expression "piVar42[2] & 0xffU" (subscript_expression "piVar42[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "piVar42 = (int *)*piVar42;" (assignment_expression "piVar42 = (int *)*piVar42" identifier = (cast_expression "(int *)*piVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar42" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar42)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar42" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if (((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" if (parenthesized_expression "(((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2))))" ( (binary_expression "((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar16 && (uVar11 == 2)))" (parenthesized_expression "((*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0))" ( (binary_expression "(*piVar39 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)" (parenthesized_expression "(*piVar39 != 0)" ( (binary_expression "*piVar39 != 0" (pointer_expression "*piVar39" * identifier) != number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(('\0' < cVar16 && (uVar11 == 2)))" ( (parenthesized_expression "('\0' < cVar16 && (uVar11 == 2))" ( (binary_expression "'\0' < cVar16 && (uVar11 == 2)" (binary_expression "'\0' < cVar16" (char_literal "'\0'" ' escape_sequence ') < identifier) && (parenthesized_expression "(uVar11 == 2)" ( (binary_expression "uVar11 == 2" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" { (expression_statement "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;" (assignment_expression "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (if_statement "if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 != 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 != 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" { (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "pid = (pid_t)puVar25;" (assignment_expression "pid = (pid_t)puVar25" identifier = (cast_expression "(pid_t)puVar25" ( (type_descriptor "pid_t" type_identifier) ) identifier)) ;) (if_statement "if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;" if (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) != 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;)) (goto_statement "goto LAB_0006a528;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;) })) (labeled_statement "LAB_00069d30:\n    psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;" statement_identifier : (expression_statement "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158;" (assignment_expression "psVar31 = (sigset_t *)PTR_wait_for_background_pids_00145158" identifier = (cast_expression "(sigset_t *)PTR_wait_for_background_pids_00145158" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "puVar25 = PTR_data_start_00144568;" (assignment_expression "puVar25 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(sigset_t **)(puVar25 + 0x460) = psVar31;" (assignment_expression "*(sigset_t **)(puVar25 + 0x460) = psVar31" (pointer_expression "*(sigset_t **)(puVar25 + 0x460)" * (cast_expression "(sigset_t **)(puVar25 + 0x460)" ( (type_descriptor "sigset_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x460)" ( (binary_expression "puVar25 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar42[-0x1c37] = 0;" (assignment_expression "piVar42[-0x1c37] = 0" (subscript_expression "piVar42[-0x1c37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = piVar42;" (assignment_expression "unaff_s6 = piVar42" identifier = identifier) ;) (labeled_statement "LAB_00069d48:\n    if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" statement_identifier : (if_statement "if (psVar6 != (sigset_t *)0xffffffff) {\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" if (parenthesized_expression "(psVar6 != (sigset_t *)0xffffffff)" ( (binary_expression "psVar6 != (sigset_t *)0xffffffff" identifier != (cast_expression "(sigset_t *)0xffffffff" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (int *)((int)psVar6 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar19 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" { (expression_statement "unaff_s6 = (int *)((int)psVar6 * 4);" (assignment_expression "unaff_s6 = (int *)((int)psVar6 * 4)" identifier = (cast_expression "(int *)((int)psVar6 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar6 * 4)" ( (binary_expression "(int)psVar6 * 4" (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00069d68;" goto statement_identifier ;) }))) (if_statement "if (unaff_s8 == 0) {\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n      local_144 = 0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }" { (expression_statement "local_144 = 0;" (assignment_expression "local_144 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;" (assignment_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0" (pointer_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(undefined4 *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }) (else_clause "else {\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }" else (compound_statement "{\nLAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);\n      uVar11 = status & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }\n    }" { (labeled_statement "LAB_0006a2e0:\n      status = *(uint *)(unaff_s8 + 8);" statement_identifier : (expression_statement "status = *(uint *)(unaff_s8 + 8);" (assignment_expression "status = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;)) (expression_statement "uVar11 = status & 0x7f;" (assignment_expression "uVar11 = status & 0x7f" identifier = (binary_expression "status & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = uVar11 + 0x80;\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        local_144 = process_exit_status(status);\n        uVar11 = 0;\n      }" { (expression_statement "local_144 = process_exit_status(status);" (assignment_expression "local_144 = process_exit_status(status)" identifier = (call_expression "process_exit_status(status)" identifier (argument_list "(status)" ( identifier )))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_144 = uVar11 + 0x80;\n      }" else (compound_statement "{\n        local_144 = uVar11 + 0x80;\n      }" { (expression_statement "local_144 = uVar11 + 0x80;" (assignment_expression "local_144 = uVar11 + 0x80" identifier = (binary_expression "uVar11 + 0x80" identifier + number_literal)) ;) }))) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((status & 0xff) == 0x7f) {\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }" if (parenthesized_expression "((status & 0xff) == 0x7f)" ( (binary_expression "(status & 0xff) == 0x7f" (parenthesized_expression "(status & 0xff)" ( (binary_expression "status & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_144 = ((status << 0x10) >> 0x18) + 0x80;\n      }" { (expression_statement "local_144 = ((status << 0x10) >> 0x18) + 0x80;" (assignment_expression "local_144 = ((status << 0x10) >> 0x18) + 0x80" identifier = (binary_expression "((status << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((status << 0x10) >> 0x18)" ( (binary_expression "(status << 0x10) >> 0x18" (parenthesized_expression "(status << 0x10)" ( (binary_expression "status << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal)) ;) })) }))) (expression_statement "psVar32 = psVar6;" (assignment_expression "psVar32 = psVar6" identifier = identifier) ;) (if_statement "if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }" if (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0" (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 0x11" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) && (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n      give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);\n    }" { (expression_statement "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(pid_t *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(pid_t *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(pid_t *)PTR_shell_pgrp_001448ac" * (cast_expression "(pid_t *)PTR_shell_pgrp_001448ac" ( (type_descriptor "pid_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) })) }) (else_clause "else {\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }" else (compound_statement "{\nLAB_0006a708:\n    psVar31 = psVar30;\n    piVar42 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar42 = *piVar42 + 1;\n    iVar19 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar25 = (undefined *)pid;\n    puVar34 = puVar35;\n    if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    psVar32 = psVar6;\n  }" { (labeled_statement "LAB_0006a708:\n    psVar31 = psVar30;" statement_identifier : (expression_statement "psVar31 = psVar30;" (assignment_expression "psVar31 = psVar30" identifier = identifier) ;)) (expression_statement "piVar42 = (int *)0x1;" (assignment_expression "piVar42 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);" (call_expression "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c)" (parenthesized_expression "(*(code *)PTR___longjmp_chk_001462e4)" ( (pointer_expression "*(code *)PTR___longjmp_chk_001462e4" * (cast_expression "(code *)PTR___longjmp_chk_001462e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_wait_intr_buf_0014516c)" ( identifier ))) ;) (labeled_statement "LAB_0006a714:\n    unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*in_a3 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*in_a3 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*in_a3 + (int)unaff_s6)" ( (binary_expression "*in_a3 + (int)unaff_s6" (pointer_expression "*in_a3" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*piVar42 = *piVar42 + 1;" (assignment_expression "*piVar42 = *piVar42 + 1" (pointer_expression "*piVar42" * identifier) = (binary_expression "*piVar42 + 1" (pointer_expression "*piVar42" * identifier) + number_literal)) ;) (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a00c:\n    puVar25 = (undefined *)pid;" statement_identifier : (expression_statement "puVar25 = (undefined *)pid;" (assignment_expression "puVar25 = (undefined *)pid" identifier = (cast_expression "(undefined *)pid" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "puVar34 = puVar35;" (assignment_expression "puVar34 = puVar35" identifier = identifier) ;) (if_statement "if ((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }" if (parenthesized_expression "((iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0))" ( (binary_expression "(iVar19 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar19 == 4)" ( (binary_expression "iVar19 == 4" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0006a528:\n      setjstatus((int)psVar6);\n      puVar25 = (undefined *)pid;\n      puVar34 = puVar35;\n    }" { (labeled_statement "LAB_0006a528:\n      setjstatus((int)psVar6);" statement_identifier : (expression_statement "setjstatus((int)psVar6);" (call_expression "setjstatus((int)psVar6)" identifier (argument_list "((int)psVar6)" ( (cast_expression "(int)psVar6" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;)) (expression_statement "puVar25 = (undefined *)pid;" (assignment_expression "puVar25 = (undefined *)pid" identifier = (cast_expression "(undefined *)pid" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar34 = puVar35;" (assignment_expression "puVar34 = puVar35" identifier = identifier) ;) })) (labeled_statement "LAB_0006a01c:\n    notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "psVar32 = psVar6;" (assignment_expression "psVar32 = psVar6" identifier = identifier) ;) }))) (labeled_statement "LAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,psVar36,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,psVar36,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "pid = (pid_t)puVar25;" (assignment_expression "pid = (pid_t)puVar25" identifier = (cast_expression "(pid_t)puVar25" ( (type_descriptor "pid_t" type_identifier) ) identifier)) ;) (labeled_statement "LAB_0006a040:\n  if (pid_00 == *(uint *)puVar4) {\n    return local_144;\n  }" statement_identifier : (if_statement "if (pid_00 == *(uint *)puVar4) {\n    return local_144;\n  }" if (parenthesized_expression "(pid_00 == *(uint *)puVar4)" ( (binary_expression "pid_00 == *(uint *)puVar4" identifier == (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return local_144;\n  }" { (return_statement "return local_144;" return identifier ;) }))) (expression_statement "pcVar7 = wait_for_single_pid;" (assignment_expression "pcVar7 = wait_for_single_pid" identifier = identifier) ;) (expression_statement "puVar41 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar41 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (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 "()" ( ))) ;) (expression_statement "puStack_2a8 = puVar41 + 0xe1e00;" (assignment_expression "puStack_2a8 = puVar41 + 0xe1e00" identifier = (binary_expression "puVar41 + 0xe1e00" identifier + number_literal)) ;) (expression_statement "piVar42 = *(int **)(puVar41 + 0xdbd9c);" (assignment_expression "piVar42 = *(int **)(puVar41 + 0xdbd9c)" identifier = (pointer_expression "*(int **)(puVar41 + 0xdbd9c)" * (cast_expression "(int **)(puVar41 + 0xdbd9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0xdbd9c)" ( (binary_expression "puVar41 + 0xdbd9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_17c = (undefined *)piVar39;" (assignment_expression "puStack_17c = (undefined *)piVar39" identifier = (cast_expression "(undefined *)piVar39" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_19c = *piVar42;" (assignment_expression "iStack_19c = *piVar42" identifier = (pointer_expression "*piVar42" * identifier)) ;) (expression_statement "puStack_198 = (undefined *)pid;" (assignment_expression "puStack_198 = (undefined *)pid" identifier = (cast_expression "(undefined *)pid" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_194 = psVar31;" (assignment_expression "psStack_194 = psVar31" identifier = identifier) ;) (expression_statement "psStack_190 = psVar32;" (assignment_expression "psStack_190 = psVar32" identifier = identifier) ;) (expression_statement "piStack_18c = piVar20;" (assignment_expression "piStack_18c = piVar20" identifier = identifier) ;) (expression_statement "puStack_188 = puVar34;" (assignment_expression "puStack_188 = puVar34" identifier = identifier) ;) (expression_statement "puStack_184 = puVar3;" (assignment_expression "puStack_184 = puVar3" identifier = identifier) ;) (expression_statement "piStack_180 = unaff_s6;" (assignment_expression "piStack_180 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_178 = unaff_s8;" (assignment_expression "iStack_178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar7;" (assignment_expression "pcStack_174 = pcVar7" identifier = identifier) ;) (expression_statement "(**(code **)(puVar41 + 0xdbb94))(auStack_29c);" (call_expression "(**(code **)(puVar41 + 0xdbb94))(auStack_29c)" (parenthesized_expression "(**(code **)(puVar41 + 0xdbb94))" ( (pointer_expression "**(code **)(puVar41 + 0xdbb94)" * (pointer_expression "*(code **)(puVar41 + 0xdbb94)" * (cast_expression "(code **)(puVar41 + 0xdbb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar41 + 0xdbb94)" ( (binary_expression "puVar41 + 0xdbb94" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "pPVar12 = find_pipeline(pid_00,0,(int *)0x0);" (assignment_expression "pPVar12 = find_pipeline(pid_00,0,(int *)0x0)" identifier = (call_expression "find_pipeline(pid_00,0,(int *)0x0)" identifier (argument_list "(pid_00,0,(int *)0x0)" ( identifier , number_literal , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (pPVar12 == (PROCESS *)0x0) {\n    piVar20 = *(int **)(puStack_2a8 + -0x7408);\n    iVar5 = *piVar20;\n    iVar19 = 0;\n    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }\nLAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);\n    if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }" if (parenthesized_expression "(pPVar12 == (PROCESS *)0x0)" ( (binary_expression "pPVar12 == (PROCESS *)0x0" identifier == (cast_expression "(PROCESS *)0x0" ( (type_descriptor "PROCESS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    piVar20 = *(int **)(puStack_2a8 + -0x7408);\n    iVar5 = *piVar20;\n    iVar19 = 0;\n    if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }\nLAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);\n    if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }\n  }" { (expression_statement "piVar20 = *(int **)(puStack_2a8 + -0x7408);" (assignment_expression "piVar20 = *(int **)(puStack_2a8 + -0x7408)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x7408)" * (cast_expression "(int **)(puStack_2a8 + -0x7408)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7408)" ( (binary_expression "puStack_2a8 + -0x7408" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *piVar20;" (assignment_expression "iVar5 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (if_statement "if (((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }" if (parenthesized_expression "(((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0))" ( (binary_expression "((iVar5 != 0) && (piVar20[2] != 0)) && (piVar20[3] != 0)" (parenthesized_expression "((iVar5 != 0) && (piVar20[2] != 0))" ( (binary_expression "(iVar5 != 0) && (piVar20[2] != 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar20[2] != 0)" ( (binary_expression "piVar20[2] != 0" (subscript_expression "piVar20[2]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar20[3] != 0)" ( (binary_expression "piVar20[3] != 0" (subscript_expression "piVar20[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }\n    }" { (expression_statement "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4)" identifier = (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7404) + (pid_00 & 0xfff) * 4" (pointer_expression "*(int *)(puStack_2a8 + -0x7404)" * (cast_expression "(int *)(puStack_2a8 + -0x7404)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7404)" ( (binary_expression "puStack_2a8 + -0x7404" identifier + number_literal) )))) + (binary_expression "(pid_00 & 0xfff) * 4" (parenthesized_expression "(pid_00 & 0xfff)" ( (binary_expression "pid_00 & 0xfff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (iVar9 != -1) {\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar20 = (int *)(iVar5 + iVar9 * 0x10);\n        if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }\n      }" { (expression_statement "piVar20 = (int *)(iVar5 + iVar9 * 0x10);" (assignment_expression "piVar20 = (int *)(iVar5 + iVar9 * 0x10)" identifier = (cast_expression "(int *)(iVar5 + iVar9 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar9 * 0x10)" ( (binary_expression "iVar5 + iVar9 * 0x10" identifier + (binary_expression "iVar9 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (pid_00 == piVar20[2]) {\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }\n        else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }" if (parenthesized_expression "(pid_00 == piVar20[2])" ( (binary_expression "pid_00 == piVar20[2]" identifier == (subscript_expression "piVar20[2]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);\n          if (-1 < iVar5) goto LAB_0006a9b0;\n        }" { (labeled_statement "LAB_0006aaf8:\n          iVar5 = (int)*(short *)(piVar20 + 3);" statement_identifier : (expression_statement "iVar5 = (int)*(short *)(piVar20 + 3);" (assignment_expression "iVar5 = (int)*(short *)(piVar20 + 3)" identifier = (cast_expression "(int)*(short *)(piVar20 + 3)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(piVar20 + 3)" * (cast_expression "(short *)(piVar20 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar20 + 3)" ( (binary_expression "piVar20 + 3" identifier + number_literal) )))))) ;)) (if_statement "if (-1 < iVar5) goto LAB_0006a9b0;" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_0006a9b0;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }" else (compound_statement "{\n          iVar17 = *piVar20;\n          while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }\n          internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));\n        }" { (expression_statement "iVar17 = *piVar20;" (assignment_expression "iVar17 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (while_statement "while (iVar9 != iVar17) {\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }" while (parenthesized_expression "(iVar9 != iVar17)" ( (binary_expression "iVar9 != iVar17" identifier != identifier) )) (compound_statement "{\n            if (iVar17 == -1) goto LAB_0006aae8;\n            piVar20 = (int *)(iVar5 + iVar17 * 0x10);\n            if (pid_00 == piVar20[2]) goto LAB_0006aaf8;\n            iVar17 = *piVar20;\n          }" { (if_statement "if (iVar17 == -1) goto LAB_0006aae8;" if (parenthesized_expression "(iVar17 == -1)" ( (binary_expression "iVar17 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aae8;" goto statement_identifier ;)) (expression_statement "piVar20 = (int *)(iVar5 + iVar17 * 0x10);" (assignment_expression "piVar20 = (int *)(iVar5 + iVar17 * 0x10)" identifier = (cast_expression "(int *)(iVar5 + iVar17 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar17 * 0x10)" ( (binary_expression "iVar5 + iVar17 * 0x10" identifier + (binary_expression "iVar17 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (pid_00 == piVar20[2]) goto LAB_0006aaf8;" if (parenthesized_expression "(pid_00 == piVar20[2])" ( (binary_expression "pid_00 == piVar20[2]" identifier == (subscript_expression "piVar20[2]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0006aaf8;" goto statement_identifier ;)) (expression_statement "iVar17 = *piVar20;" (assignment_expression "iVar17 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) })) (expression_statement "internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000));" (call_expression "internal_warning((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000))" identifier (argument_list "((char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000))" ( (cast_expression "(char *)(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 32000" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ))) ;) }))) })) })) (labeled_statement "LAB_0006aae8:\n    psVar36 = (sigset_t *)((uint)psVar36 & 1);" statement_identifier : (expression_statement "psVar36 = (sigset_t *)((uint)psVar36 & 1);" (assignment_expression "psVar36 = (sigset_t *)((uint)psVar36 & 1)" identifier = (cast_expression "(sigset_t *)((uint)psVar36 & 1)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar36 & 1)" ( (binary_expression "(uint)psVar36 & 1" (cast_expression "(uint)psVar36" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;)) (if_statement "if (psVar36 == (sigset_t *)0x0) {\n      iVar5 = 0x7f;\n    }\n    else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }" if (parenthesized_expression "(psVar36 == (sigset_t *)0x0)" ( (binary_expression "psVar36 == (sigset_t *)0x0" identifier == (cast_expression "(sigset_t *)0x0" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = 0x7f;\n    }" { (expression_statement "iVar5 = 0x7f;" (assignment_expression "iVar5 = 0x7f" identifier = number_literal) ;) }) (else_clause "else {\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }" else (compound_statement "{\n      iVar5 = 0x7f;\n      pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(pcVar15,pid_00);\n    }" { (expression_statement "iVar5 = 0x7f;" (assignment_expression "iVar5 = 0x7f" identifier = number_literal) ;) (expression_statement "pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" identifier = (cast_expression "(char *)(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_2a8 + -0x60a8))\n                                  (0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x60a8))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x60a8)" * (pointer_expression "*(code **)(puStack_2a8 + -0x60a8)" * (cast_expression "(code **)(puStack_2a8 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60a8)" ( (binary_expression "puStack_2a8 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" ( number_literal , (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar15,pid_00);" (call_expression "internal_error(pcVar15,pid_00)" identifier (argument_list "(pcVar15,pid_00)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }" else (compound_statement "{\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    psVar36 = (sigset_t *)((uint)psVar36 & 2);\n    piVar39 = (int *)0x7f;\n    iVar5 = wait_for(pid_00);\n    while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }\n    iVar19 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }\n  }" { (expression_statement "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);" (assignment_expression "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x77a4)" * (cast_expression "(int **)(puStack_2a8 + -0x77a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x77a4)" ( (binary_expression "puStack_2a8 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "psVar36 = (sigset_t *)((uint)psVar36 & 2);" (assignment_expression "psVar36 = (sigset_t *)((uint)psVar36 & 2)" identifier = (cast_expression "(sigset_t *)((uint)psVar36 & 2)" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)psVar36 & 2)" ( (binary_expression "(uint)psVar36 & 2" (cast_expression "(uint)psVar36" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "piVar39 = (int *)0x7f;" (assignment_expression "piVar39 = (int *)0x7f" identifier = (cast_expression "(int *)0x7f" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = wait_for(pid_00);" (assignment_expression "iVar5 = wait_for(pid_00)" identifier = (call_expression "wait_for(pid_00)" identifier (argument_list "(pid_00)" ( identifier )))) ;) (while_statement "while (psVar36 != (sigset_t *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }" while (parenthesized_expression "(psVar36 != (sigset_t *)0x0)" ( (binary_expression "psVar36 != (sigset_t *)0x0" identifier != (cast_expression "(sigset_t *)0x0" ( (type_descriptor "sigset_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      iVar5 = wait_for(pid_00);\n    }" { (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if ((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" if (parenthesized_expression "((pPVar12->running != 1) && ((char)pPVar12->status != '\x7f'))" ( (binary_expression "(pPVar12->running != 1) && ((char)pPVar12->status != '\x7f')" (parenthesized_expression "(pPVar12->running != 1)" ( (binary_expression "pPVar12->running != 1" (field_expression "pPVar12->running" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "((char)pPVar12->status != '\x7f')" ( (binary_expression "(char)pPVar12->status != '\x7f'" (cast_expression "(char)pPVar12->status" ( (type_descriptor "char" primitive_type) ) (field_expression "pPVar12->status" identifier -> field_identifier)) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" { (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))();" (call_expression "(**(code **)(puStack_2a8 + -0x602c))()" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = wait_for(pid_00);" (assignment_expression "iVar5 = wait_for(pid_00)" identifier = (call_expression "wait_for(pid_00)" identifier (argument_list "(pid_00)" ( identifier )))) ;) })) (expression_statement "iVar19 = *(int *)(puStack_2a8 + -0x76e8);" (assignment_expression "iVar19 = *(int *)(puStack_2a8 + -0x76e8)" identifier = (pointer_expression "*(int *)(puStack_2a8 + -0x76e8)" * (cast_expression "(int *)(puStack_2a8 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x76e8)" ( (binary_expression "puStack_2a8 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < *(int *)(iVar19 + 0x18)) {\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)(iVar19 + 0x18))" ( (binary_expression "0 < *(int *)(iVar19 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar9 = 0;\n      piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));\n    }" { (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (expression_statement "piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);" (assignment_expression "piVar20 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" identifier = (cast_expression "(int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_2a8 + -0x76e4)" * (pointer_expression "*(undefined4 **)(puStack_2a8 + -0x76e4)" * (cast_expression "(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x76e4)" ( (binary_expression "puStack_2a8 + -0x76e4" identifier + number_literal) ))))))) ;) (do_statement "do {\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      } while (iVar9 != *(int *)(iVar19 + 0x18));" do (compound_statement "{\n        iVar17 = *piVar20;\n        if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }\n        iVar9 = iVar9 + 1;\n        piVar20 = piVar20 + 1;\n      }" { (expression_statement "iVar17 = *piVar20;" (assignment_expression "iVar17 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (if_statement "if (iVar17 != 0) {\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }" if (parenthesized_expression "(iVar17 != 0)" ( (binary_expression "iVar17 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar40 = *(int **)(iVar17 + 4);\n          uVar11 = piVar40[1];\n          piVar26 = piVar40;\n          while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }\n        }" { (expression_statement "piVar40 = *(int **)(iVar17 + 4);" (assignment_expression "piVar40 = *(int **)(iVar17 + 4)" identifier = (pointer_expression "*(int **)(iVar17 + 4)" * (cast_expression "(int **)(iVar17 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar17 + 4)" ( (binary_expression "iVar17 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar11 = piVar40[1];" (assignment_expression "uVar11 = piVar40[1]" identifier = (subscript_expression "piVar40[1]" identifier [ number_literal ])) ;) (expression_statement "piVar26 = piVar40;" (assignment_expression "piVar26 = piVar40" identifier = identifier) ;) (while_statement "while( true ) {\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar26 = (int *)*piVar26;\n            if (piVar40 == piVar26) break;\n            uVar11 = piVar26[1];\n          }" { (if_statement "if (pid_00 == uVar11) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" if (parenthesized_expression "(pid_00 == uVar11)" ( (binary_expression "pid_00 == uVar11" identifier == identifier) )) (compound_statement "{\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" { (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar17 + 0xc) == 4) {\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }" if (parenthesized_expression "(*(int *)(iVar17 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar17 + 0xc) == 4" (pointer_expression "*(int *)(iVar17 + 0xc)" * (cast_expression "(int *)(iVar17 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0xc)" ( (binary_expression "iVar17 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;\n              }" { (expression_statement "*(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar17 + 0x10) = *(uint *)(iVar17 + 0x10) | 2" (pointer_expression "*(uint *)(iVar17 + 0x10)" * (cast_expression "(uint *)(iVar17 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar17 + 0x10) | 2" (pointer_expression "*(uint *)(iVar17 + 0x10)" * (cast_expression "(uint *)(iVar17 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x10)" ( (binary_expression "iVar17 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (goto_statement "goto LAB_0006a950;" goto statement_identifier ;) })) (expression_statement "piVar26 = (int *)*piVar26;" (assignment_expression "piVar26 = (int *)*piVar26" identifier = (cast_expression "(int *)*piVar26" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar26" * identifier))) ;) (if_statement "if (piVar40 == piVar26) break;" if (parenthesized_expression "(piVar40 == piVar26)" ( (binary_expression "piVar40 == piVar26" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar11 = piVar26[1];" (assignment_expression "uVar11 = piVar26[1]" identifier = (subscript_expression "piVar26[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar20 = piVar20 + 1;" (assignment_expression "piVar20 = piVar20 + 1" identifier = (binary_expression "piVar20 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar9 != *(int *)(iVar19 + 0x18))" ( (binary_expression "iVar9 != *(int *)(iVar19 + 0x18)" identifier != (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_21c,0);" (call_expression "(*pcVar7)(3,auStack_21c,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }" if (parenthesized_expression "(**(int **)(puStack_2a8 + -0x7fb4) != 0)" ( (binary_expression "**(int **)(puStack_2a8 + -0x7fb4) != 0" (pointer_expression "**(int **)(puStack_2a8 + -0x7fb4)" * (pointer_expression "*(int **)(puStack_2a8 + -0x7fb4)" * (cast_expression "(int **)(puStack_2a8 + -0x7fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7fb4)" ( (binary_expression "puStack_2a8 + -0x7fb4" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }\n      bgp_delete(pid_00);\n    }" { (if_statement "if ((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        cleanup_dead_jobs();\n      }" if (parenthesized_expression "((*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar19 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar19 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x18) != 0" (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(puStack_2a8 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(puStack_2a8 + -0x73ec)" * (cast_expression "(int *)(puStack_2a8 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x73ec)" ( (binary_expression "puStack_2a8 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        cleanup_dead_jobs();\n      }" { (expression_statement "cleanup_dead_jobs();" (call_expression "cleanup_dead_jobs()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bgp_delete(pid_00);" (call_expression "bgp_delete(pid_00)" identifier (argument_list "(pid_00)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_0006a9b0:\n  if (iStack_19c == *piVar42) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (iStack_19c == *piVar42) {\n    return iVar5;\n  }" if (parenthesized_expression "(iStack_19c == *piVar42)" ( (binary_expression "iStack_19c == *piVar42" identifier == (pointer_expression "*piVar42" * identifier)) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x60b8)" * (cast_expression "(code **)(puStack_2a8 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60b8)" ( (binary_expression "puStack_2a8 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_background_pids;" (assignment_expression "pcVar8 = wait_for_background_pids" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_400 = pcVar7 + 0xe19dc;" (assignment_expression "pcStack_400 = pcVar7 + 0xe19dc" identifier = (binary_expression "pcVar7 + 0xe19dc" identifier + number_literal)) ;) (expression_statement "piStack_3f0 = *(int **)(pcVar7 + 0xdb978);" (assignment_expression "piStack_3f0 = *(int **)(pcVar7 + 0xdb978)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb978)" * (cast_expression "(int **)(pcVar7 + 0xdb978)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb978)" ( (binary_expression "pcVar7 + 0xdb978" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xda48c);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xda48c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) ))))) ;) (expression_statement "pcStack_3f4 = (code *)(iVar9 + 0x5a6c);" (assignment_expression "pcStack_3f4 = (code *)(iVar9 + 0x5a6c)" identifier = (cast_expression "(code *)(iVar9 + 0x5a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x5a6c)" ( (binary_expression "iVar9 + 0x5a6c" identifier + number_literal) )))) ;) (expression_statement "iVar17 = *(int *)(pcVar7 + 0xd9a14);" (assignment_expression "iVar17 = *(int *)(pcVar7 + 0xd9a14)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a14)" * (cast_expression "(int *)(pcVar7 + 0xd9a14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a14)" ( (binary_expression "pcVar7 + 0xd9a14" identifier + number_literal) ))))) ;) (expression_statement "iStack_2e4 = *piStack_3f0;" (assignment_expression "iStack_2e4 = *piStack_3f0" identifier = (pointer_expression "*piStack_3f0" * identifier)) ;) (expression_statement "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);" (assignment_expression "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (binary_expression "*(int *)(pcVar7 + 0xda48c) + 0x4e60" (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar37 = *(int *)(pcVar7 + 0xda2f4);" (assignment_expression "iVar37 = *(int *)(pcVar7 + 0xda2f4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda2f4)" * (cast_expression "(int *)(pcVar7 + 0xda2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda2f4)" ( (binary_expression "pcVar7 + 0xda2f4" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = *(int **)(pcVar7 + 0xda2f8);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xda2f8)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xda2f8)" * (cast_expression "(int **)(pcVar7 + 0xda2f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda2f8)" ( (binary_expression "pcVar7 + 0xda2f8" identifier + number_literal) ))))) ;) (expression_statement "puStack_2e0 = auStack_29c;" (assignment_expression "puStack_2e0 = auStack_29c" identifier = identifier) ;) (expression_statement "puStack_2dc = auStack_21c;" (assignment_expression "puStack_2dc = auStack_21c" identifier = identifier) ;) (expression_statement "uStack_2d8 = pid_00;" (assignment_expression "uStack_2d8 = pid_00" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar19;" (assignment_expression "iStack_2d4 = iVar19" identifier = identifier) ;) (expression_statement "psStack_2d0 = psVar36;" (assignment_expression "psStack_2d0 = psVar36" identifier = identifier) ;) (expression_statement "iStack_2cc = iVar5;" (assignment_expression "iStack_2cc = iVar5" identifier = identifier) ;) (expression_statement "piStack_2c8 = unaff_s6;" (assignment_expression "piStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2c4 = piVar39;" (assignment_expression "piStack_2c4 = piVar39" identifier = identifier) ;) (expression_statement "piStack_2c0 = piVar42;" (assignment_expression "piStack_2c0 = piVar42" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar8;" (assignment_expression "pcStack_2bc = pcVar8" identifier = identifier) ;) (labeled_statement "LAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" do (compound_statement "{\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));\n    (*pcStack_3ec)();\n  }" { (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) (do_statement "do {\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0));" do (compound_statement "{\n      piVar26 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar42 = *(int **)(iVar37 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);\n      pVar27 = *(pid_t *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(pVar27,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    }" { (expression_statement "piVar26 = (int *)0x0;" (assignment_expression "piVar26 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)(auStack_3e4);" (call_expression "(*pcVar7)(auStack_3e4)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(auStack_3e4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);" (call_expression "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_400 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_400 + -0x61dc)" * (cast_expression "(code **)(pcStack_400 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x61dc)" ( (binary_expression "pcStack_400 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_3e4,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x626c))(auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x626c))(auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x626c)" * (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_364)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_3e4,auStack_364)" ( number_literal , identifier , identifier ))) ;) (expression_statement "piVar42 = *(int **)(iVar37 + 0x18);" (assignment_expression "piVar42 = *(int **)(iVar37 + 0x18)" identifier = (pointer_expression "*(int **)(iVar37 + 0x18)" * (cast_expression "(int **)(iVar37 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar37 + 0x18)" ( (binary_expression "iVar37 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (0 < (int)piVar42) {\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }" if (parenthesized_expression "(0 < (int)piVar42)" ( (binary_expression "0 < (int)piVar42" number_literal < (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar9 = 2;\n        do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);\n      }" { (expression_statement "iVar9 = 2;" (assignment_expression "iVar9 = 2" identifier = number_literal) ;) (do_statement "do {\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        } while ((int)piVar26 < (int)piVar42);" do (compound_statement "{\n          piVar39 = (int *)((int)piVar26 * 4);\n          iVar5 = *(int *)(*piVar20 + (int)piVar39);\n          if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);\n          piVar42 = *(int **)(iVar37 + 0x18);\n          unaff_s6 = piVar26;\n        }" { (expression_statement "piVar39 = (int *)((int)piVar26 * 4);" (assignment_expression "piVar39 = (int *)((int)piVar26 * 4)" identifier = (cast_expression "(int *)((int)piVar26 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar26 * 4)" ( (binary_expression "(int)piVar26 * 4" (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*piVar20 + (int)piVar39);" (assignment_expression "iVar5 = *(int *)(*piVar20 + (int)piVar39)" identifier = (pointer_expression "*(int *)(*piVar20 + (int)piVar39)" * (cast_expression "(int *)(*piVar20 + (int)piVar39)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar20 + (int)piVar39)" ( (binary_expression "*piVar20 + (int)piVar39" (pointer_expression "*piVar20" * identifier) + (cast_expression "(int)piVar39" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar19 = *(int *)(iVar5 + 0xc);\n            if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar26 + 1);\n            if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" { (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar19 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }" if (parenthesized_expression "(iVar19 == 2)" ( (binary_expression "iVar19 == 2" identifier == number_literal) )) (compound_statement "{\n              iVar5 = (*pcStack_3f4)(piVar26);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar39 = (int *)(*piVar20 + (int)piVar39);\n              iVar5 = *piVar39;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar19 = *(int *)(iVar5 + 0xc);\n            }" { (expression_statement "iVar5 = (*pcStack_3f4)(piVar26);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar26)" identifier = (call_expression "(*pcStack_3f4)(piVar26)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar26)" ( identifier )))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4));" (call_expression "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7354))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7354)" * (pointer_expression "*(code **)(pcStack_400 + -0x7354)" * (cast_expression "(code **)(pcStack_400 + -0x7354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7354)" ( (binary_expression "pcStack_400 + -0x7354" identifier + number_literal) ))))) )) (argument_list "(iVar17 + 0x7d64,(int)piVar26 + 1,*(undefined4 *)(iVar5 + 4))" ( (binary_expression "iVar17 + 0x7d64" identifier + number_literal) , (binary_expression "(int)piVar26 + 1" (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) ))) ;) (expression_statement "piVar39 = (int *)(*piVar20 + (int)piVar39);" (assignment_expression "piVar39 = (int *)(*piVar20 + (int)piVar39)" identifier = (cast_expression "(int *)(*piVar20 + (int)piVar39)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar20 + (int)piVar39)" ( (binary_expression "*piVar20 + (int)piVar39" (pointer_expression "*piVar20" * identifier) + (cast_expression "(int)piVar39" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *piVar39;" (assignment_expression "iVar5 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (iVar5 == 0) goto LAB_0006ac6c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006ac6c;" goto statement_identifier ;)) (expression_statement "iVar19 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar19 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) })) (expression_statement "unaff_s6 = (int *)((int)piVar26 + 1);" (assignment_expression "unaff_s6 = (int *)((int)piVar26 + 1)" identifier = (cast_expression "(int *)((int)piVar26 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar26 + 1)" ( (binary_expression "(int)piVar26 + 1" (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" if (parenthesized_expression "((iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(iVar19 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" { (if_statement "if (piVar26 != *(int **)(iVar37 + 0x18)) goto LAB_0006ac88;" if (parenthesized_expression "(piVar26 != *(int **)(iVar37 + 0x18))" ( (binary_expression "piVar26 != *(int **)(iVar37 + 0x18)" identifier != (pointer_expression "*(int **)(iVar37 + 0x18)" * (cast_expression "(int **)(iVar37 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar37 + 0x18)" ( (binary_expression "iVar37 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006ac88;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006ad54;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0006ac6c:\n          piVar26 = (int *)((int)piVar26 + 1);" statement_identifier : (expression_statement "piVar26 = (int *)((int)piVar26 + 1);" (assignment_expression "piVar26 = (int *)((int)piVar26 + 1)" identifier = (cast_expression "(int *)((int)piVar26 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar26 + 1)" ( (binary_expression "(int)piVar26 + 1" (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "piVar42 = *(int **)(iVar37 + 0x18);" (assignment_expression "piVar42 = *(int **)(iVar37 + 0x18)" identifier = (pointer_expression "*(int **)(iVar37 + 0x18)" * (cast_expression "(int **)(iVar37 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar37 + 0x18)" ( (binary_expression "iVar37 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = piVar26;" (assignment_expression "unaff_s6 = piVar26" identifier = identifier) ;) }) while (parenthesized_expression "((int)piVar26 < (int)piVar42)" ( (binary_expression "(int)piVar26 < (int)piVar42" (cast_expression "(int)piVar26" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (piVar26 == piVar42) {\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" if (parenthesized_expression "(piVar26 == piVar42)" ( (binary_expression "piVar26 == piVar42" identifier == identifier) )) (compound_statement "{\nLAB_0006ad54:\n        puVar13 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        mark_dead_jobs_as_notified(1);\n        if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }\n        bgp_clear();\n        if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar28 = auStack_53c;\n        piVar40 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar42 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar26;\n        iStack_434 = iVar9;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar17 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar37;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar39;\n        piStack_418 = piVar20;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar28);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        block = puVar28;\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar39 = (int *)0xffffffff;\n        piVar20 = (int *)((uint)puVar13 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        pPVar12 = find_last_proc(iVar5,(int)block);\n        piVar26 = (int *)pPVar12->pid;\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" { (labeled_statement "LAB_0006ad54:\n        puVar13 = auStack_364;" statement_identifier : (expression_statement "puVar13 = auStack_364;" (assignment_expression "puVar13 = auStack_364" identifier = identifier) ;)) (expression_statement "(*pcVar7)(3,auStack_364,0);" (call_expression "(*pcVar7)(3,auStack_364,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)) {\n          wait_for(iVar5);\n        }" if (parenthesized_expression "((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1))" ( (binary_expression "(**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)" (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1)" ( (comma_expression "iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4), iVar5 != -1" (assignment_expression "iVar5 = *(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" identifier = (pointer_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" * (cast_expression "(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) + 4" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) + number_literal) ))))) , (binary_expression "iVar5 != -1" identifier != number_literal)) ))) )) (compound_statement "{\n          wait_for(iVar5);\n        }" { (expression_statement "wait_for(iVar5);" (call_expression "wait_for(iVar5)" identifier (argument_list "(iVar5)" ( identifier ))) ;) })) (expression_statement "wait_procsubs();" (call_expression "wait_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "reap_procsubs();" (call_expression "reap_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "mark_dead_jobs_as_notified(1);" (call_expression "mark_dead_jobs_as_notified(1)" identifier (argument_list "(1)" ( number_literal ))) ;) (if_statement "if ((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          cleanup_dead_jobs();\n        }" if (parenthesized_expression "((*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar37 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar37 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar37 + 0x18) != 0" (pointer_expression "*(int *)(iVar37 + 0x18)" * (cast_expression "(int *)(iVar37 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x18)" ( (binary_expression "iVar37 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(pcStack_400 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(pcStack_400 + -0x73ec)" * (cast_expression "(int *)(pcStack_400 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_400 + -0x73ec)" ( (binary_expression "pcStack_400 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          cleanup_dead_jobs();\n        }" { (expression_statement "cleanup_dead_jobs();" (call_expression "cleanup_dead_jobs()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "bgp_clear();" (call_expression "bgp_clear()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iStack_2e4 == *piStack_3f0) {\n          return *piStack_3f0;\n        }" if (parenthesized_expression "(iStack_2e4 == *piStack_3f0)" ( (binary_expression "iStack_2e4 == *piStack_3f0" identifier == (pointer_expression "*piStack_3f0" * identifier)) )) (compound_statement "{\n          return *piStack_3f0;\n        }" { (return_statement "return *piStack_3f0;" return (pointer_expression "*piStack_3f0" * identifier) ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x60b8)" * (cast_expression "(code **)(pcStack_400 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x60b8)" ( (binary_expression "pcStack_400 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_job;" (assignment_expression "pcVar8 = wait_for_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_560 = pcVar7 + 0xe1688;" (assignment_expression "pcStack_560 = pcVar7 + 0xe1688" identifier = (binary_expression "pcVar7 + 0xe1688" identifier + number_literal)) ;) (expression_statement "piStack_548 = *(int **)(pcVar7 + 0xdb624);" (assignment_expression "piStack_548 = *(int **)(pcVar7 + 0xdb624)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb624)" * (cast_expression "(int **)(pcVar7 + 0xdb624)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb624)" ( (binary_expression "pcVar7 + 0xdb624" identifier + number_literal) ))))) ;) (expression_statement "puVar28 = auStack_53c;" (assignment_expression "puVar28 = auStack_53c" identifier = identifier) ;) (expression_statement "piVar40 = (int *)(iVar5 * 4);" (assignment_expression "piVar40 = (int *)(iVar5 * 4)" identifier = (cast_expression "(int *)(iVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4)" ( (binary_expression "iVar5 * 4" identifier * number_literal) )))) ;) (expression_statement "iStack_43c = *piStack_548;" (assignment_expression "iStack_43c = *piStack_548" identifier = (pointer_expression "*piStack_548" * identifier)) ;) (expression_statement "piVar42 = *(int **)(pcVar7 + 0xd9fa4);" (assignment_expression "piVar42 = *(int **)(pcVar7 + 0xd9fa4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9fa4)" * (cast_expression "(int **)(pcVar7 + 0xd9fa4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9fa4)" ( (binary_expression "pcVar7 + 0xd9fa4" identifier + number_literal) ))))) ;) (expression_statement "piStack_438 = piVar26;" (assignment_expression "piStack_438 = piVar26" identifier = identifier) ;) (expression_statement "iStack_434 = iVar9;" (assignment_expression "iStack_434 = iVar9" identifier = identifier) ;) (expression_statement "puStack_430 = auStack_364;" (assignment_expression "puStack_430 = auStack_364" identifier = identifier) ;) (expression_statement "iStack_42c = iVar17 + 0x7d64;" (assignment_expression "iStack_42c = iVar17 + 0x7d64" identifier = (binary_expression "iVar17 + 0x7d64" identifier + number_literal)) ;) (expression_statement "puStack_428 = auStack_3e4;" (assignment_expression "puStack_428 = auStack_3e4" identifier = identifier) ;) (expression_statement "iStack_424 = iVar37;" (assignment_expression "iStack_424 = iVar37" identifier = identifier) ;) (expression_statement "piStack_420 = unaff_s6;" (assignment_expression "piStack_420 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_41c = piVar39;" (assignment_expression "piStack_41c = piVar39" identifier = identifier) ;) (expression_statement "piStack_418 = piVar20;" (assignment_expression "piStack_418 = piVar20" identifier = identifier) ;) (expression_statement "pcStack_414 = pcVar8;" (assignment_expression "pcStack_414 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb41c))(puVar28);" (call_expression "(**(code **)(pcVar7 + 0xdb41c))(puVar28)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb41c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb41c)" * (pointer_expression "*(code **)(pcVar7 + 0xdb41c)" * (cast_expression "(code **)(pcVar7 + 0xdb41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb41c)" ( (binary_expression "pcVar7 + 0xdb41c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar28,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "block = puVar28;" (assignment_expression "block = puVar28" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar28,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2) {\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2)" ( (binary_expression "*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc) == 2" (pointer_expression "*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar42 + (int)piVar40) + 0xc)" ( (binary_expression "*(int *)(*piVar42 + (int)piVar40) + 0xc" (pointer_expression "*(int *)(*piVar42 + (int)piVar40)" * (cast_expression "(int *)(*piVar42 + (int)piVar40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar42 + (int)piVar40)" ( (binary_expression "*piVar42 + (int)piVar40" (pointer_expression "*piVar42" * identifier) + (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n          pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          block = (undefined1 *)(iVar5 + 1);\n          internal_warning(pcVar15);\n        }" { (expression_statement "pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" identifier = (cast_expression "(char *)(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_560 + -0x60a8))\n                                      (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x60a8))" ( (pointer_expression "**(code **)(pcStack_560 + -0x60a8)" * (pointer_expression "*(code **)(pcStack_560 + -0x60a8)" * (cast_expression "(code **)(pcStack_560 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60a8)" ( (binary_expression "pcStack_560 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" ( number_literal , (binary_expression "*(int *)(pcStack_560 + -0x7fc8) + 0x7d78" (pointer_expression "*(int *)(pcStack_560 + -0x7fc8)" * (cast_expression "(int *)(pcStack_560 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7fc8)" ( (binary_expression "pcStack_560 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "block = (undefined1 *)(iVar5 + 1);" (assignment_expression "block = (undefined1 *)(iVar5 + 1)" identifier = (cast_expression "(undefined1 *)(iVar5 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "internal_warning(pcVar15);" (call_expression "internal_warning(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) })) (expression_statement "pcStack_554 = *(code **)(pcStack_560 + -0x77a4);" (assignment_expression "pcStack_554 = *(code **)(pcStack_560 + -0x77a4)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x77a4)" * (cast_expression "(code **)(pcStack_560 + -0x77a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x77a4)" ( (binary_expression "pcStack_560 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "piVar39 = (int *)0xffffffff;" (assignment_expression "piVar39 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar20 = (int *)((uint)puVar13 & 2);" (assignment_expression "piVar20 = (int *)((uint)puVar13 & 2)" identifier = (cast_expression "(int *)((uint)puVar13 & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar13 & 2)" ( (binary_expression "(uint)puVar13 & 2" (cast_expression "(uint)puVar13" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iStack_54c = *(int *)(pcStack_560 + -0x76e8);" (assignment_expression "iStack_54c = *(int *)(pcStack_560 + -0x76e8)" identifier = (pointer_expression "*(int *)(pcStack_560 + -0x76e8)" * (cast_expression "(int *)(pcStack_560 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x76e8)" ( (binary_expression "pcStack_560 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "pPVar12 = find_last_proc(iVar5,(int)block);" (assignment_expression "pPVar12 = find_last_proc(iVar5,(int)block)" identifier = (call_expression "find_last_proc(iVar5,(int)block)" identifier (argument_list "(iVar5,(int)block)" ( identifier , (cast_expression "(int)block" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "piVar26 = (int *)pPVar12->pid;" (assignment_expression "piVar26 = (int *)pPVar12->pid" identifier = (cast_expression "(int *)pPVar12->pid" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pPVar12->pid" identifier -> field_identifier))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);" (assignment_expression "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (binary_expression "*(int *)(pcStack_560 + -0x7550) + 0x4e60" (pointer_expression "*(int *)(pcStack_560 + -0x7550)" * (cast_expression "(int *)(pcStack_560 + -0x7550)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7550)" ( (binary_expression "pcStack_560 + -0x7550" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0006afd8;" goto statement_identifier ;) })) (labeled_statement "LAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar26);" statement_identifier : (expression_statement "iVar5 = (*pcStack_3f4)(piVar26);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar26)" identifier = (call_expression "(*pcStack_3f4)(piVar26)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar26)" ( identifier )))) ;)) (expression_statement "pVar27 = *(pid_t *)(iVar5 + 4);" (assignment_expression "pVar27 = *(pid_t *)(iVar5 + 4)" identifier = (pointer_expression "*(pid_t *)(iVar5 + 4)" * (cast_expression "(pid_t *)(iVar5 + 4)" ( (type_descriptor "pid_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d0c) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d0c) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" { (expression_statement "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));" (call_expression "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_400 + -0x7d08)" * (cast_expression "(code **)(pcStack_400 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d08)" ( (binary_expression "pcStack_400 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(**(int **)(pcStack_400 + -0x7d0c))" ( (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) ))) ;) })) (if_statement "if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d04) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d04) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d04)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d04)" * (cast_expression "(int **)(pcStack_400 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d04)" ( (binary_expression "pcStack_400 + -0x7d04" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -32000))();\n      }" { (expression_statement "(**(code **)(pcStack_400 + -32000))();" (call_expression "(**(code **)(pcStack_400 + -32000))()" (parenthesized_expression "(**(code **)(pcStack_400 + -32000))" ( (pointer_expression "**(code **)(pcStack_400 + -32000)" * (pointer_expression "*(code **)(pcStack_400 + -32000)" * (cast_expression "(code **)(pcStack_400 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -32000)" ( (binary_expression "pcStack_400 + -32000" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();" (assignment_expression "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_400 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_400 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_400 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_400 + -0x6204)" * (pointer_expression "*(code **)(pcStack_400 + -0x6204)" * (cast_expression "(code **)(pcStack_400 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x6204)" ( (binary_expression "pcStack_400 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*unaff_s6 = 0;" (assignment_expression "*unaff_s6 = 0" (pointer_expression "*unaff_s6" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for_single_pid(pVar27,1);" (assignment_expression "iVar5 = wait_for_single_pid(pVar27,1)" identifier = (call_expression "wait_for_single_pid(pVar27,1)" identifier (argument_list "(pVar27,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "((*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0))" ( (binary_expression "(*unaff_s6 != 10) || (*(int *)(iVar37 + 0x18) == 0)" (parenthesized_expression "(*unaff_s6 != 10)" ( (binary_expression "*unaff_s6 != 10" (pointer_expression "*unaff_s6" * identifier) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar37 + 0x18) == 0)" ( (binary_expression "*(int *)(iVar37 + 0x18) == 0" (pointer_expression "*(int *)(iVar37 + 0x18)" * (cast_expression "(int *)(iVar37 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x18)" ( (binary_expression "iVar37 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) ;) (expression_statement "(*pcStack_3ec)();" (call_expression "(*pcStack_3ec)()" (parenthesized_expression "(*pcStack_3ec)" ( (pointer_expression "*pcStack_3ec" * identifier) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status((int)piVar42);" statement_identifier : (expression_statement "puVar13 = (undefined1 *)job_exit_status((int)piVar42);" (assignment_expression "puVar13 = (undefined1 *)job_exit_status((int)piVar42)" identifier = (cast_expression "(undefined1 *)job_exit_status((int)piVar42)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "job_exit_status((int)piVar42)" identifier (argument_list "((int)piVar42)" ( (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;)) (if_statement "if (((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0)) {\n    delete_job((int)piVar42,0);\n  }" if (parenthesized_expression "(((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0))" ( (binary_expression "((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)) &&\n     (*(int *)(iVar9 + -0x705c) == 0)" (parenthesized_expression "((piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0))" ( (binary_expression "(piVar23 == (int *)0x0) || (notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)" (parenthesized_expression "(piVar23 == (int *)0x0)" ( (binary_expression "piVar23 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0)" ( (comma_expression "notify_of_job_status(), *(int *)(iVar19 + 0x18) != 0" (call_expression "notify_of_job_status()" identifier (argument_list "()" ( ))) , (binary_expression "*(int *)(iVar19 + 0x18) != 0" (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar9 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar9 + -0x705c) == 0" (pointer_expression "*(int *)(iVar9 + -0x705c)" * (cast_expression "(int *)(iVar9 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x705c)" ( (binary_expression "iVar9 + -0x705c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    delete_job((int)piVar42,0);\n  }" { (expression_statement "delete_job((int)piVar42,0);" (call_expression "delete_job((int)piVar42,0)" identifier (argument_list "((int)piVar42,0)" ( (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier) , number_literal ))) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x737c))();" (call_expression "(**(code **)(pcStack_6b0 + -0x737c))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x737c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x737c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x737c)" * (cast_expression "(code **)(pcStack_6b0 + -0x737c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x737c)" ( (binary_expression "pcStack_6b0 + -0x737c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar28,0)" ( number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) (while_statement "while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);\n    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);\n    if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" { (expression_statement "iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc);" (assignment_expression "iStack_550 = *(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar42 + (int)piVar40) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar42 + (int)piVar40) + 0xc)" ( (binary_expression "*(int *)(*piVar42 + (int)piVar40) + 0xc" (pointer_expression "*(int *)(*piVar42 + (int)piVar40)" * (cast_expression "(int *)(*piVar42 + (int)piVar40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar42 + (int)piVar40)" ( (binary_expression "*piVar42 + (int)piVar40" (pointer_expression "*piVar42" * identifier) + (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc)" ( number_literal , identifier ))) ;) (if_statement "if (iStack_550 == 4) break;" if (parenthesized_expression "(iStack_550 == 4)" ( (binary_expression "iStack_550 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006afd8:\n    iVar19 = (*pcStack_554)(piVar26);" statement_identifier : (expression_statement "iVar19 = (*pcStack_554)(piVar26);" (assignment_expression "iVar19 = (*pcStack_554)(piVar26)" identifier = (call_expression "(*pcStack_554)(piVar26)" (parenthesized_expression "(*pcStack_554)" ( (pointer_expression "*pcStack_554" * identifier) )) (argument_list "(piVar26)" ( identifier )))) ;)) (if_statement "if (((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" if (parenthesized_expression "(((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0))" ( (binary_expression "((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        ) && (*(int *)(iStack_54c + 0x18) != 0)" (parenthesized_expression "((iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)\n        )" ( (binary_expression "(iVar19 == -1) && (piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)" (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) && (parenthesized_expression "(piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10)" ( (comma_expression "piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar23 == 10" (assignment_expression "piVar23 = (int *)(**(code **)(pcStack_560 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_560 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_560 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_560 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_560 + -0x6204)" * (pointer_expression "*(code **)(pcStack_560 + -0x6204)" * (cast_expression "(code **)(pcStack_560 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x6204)" ( (binary_expression "pcStack_560 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "*piVar23 == 10" (pointer_expression "*piVar23" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iStack_54c + 0x18) != 0)" ( (binary_expression "*(int *)(iStack_54c + 0x18) != 0" (pointer_expression "*(int *)(iStack_54c + 0x18)" * (cast_expression "(int *)(iStack_54c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_54c + 0x18)" ( (binary_expression "iStack_54c + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "(*pcStack_544)();" (call_expression "(*pcStack_544)()" (parenthesized_expression "(*pcStack_544)" ( (pointer_expression "*pcStack_544" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" else (compound_statement "{\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }))) (if_statement "if (piVar20 == (int *)0x0) {\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" if (parenthesized_expression "(piVar20 == (int *)0x0)" ( (binary_expression "piVar20 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*pcVar7)(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" { (expression_statement "(*pcVar7)(puVar28);" (call_expression "(*pcVar7)(puVar28)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar28,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar28,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006b0d0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006b0d0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b0f4;" goto statement_identifier ;) })) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar28,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar28,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar28);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar28);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar28)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar28,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar28,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_0006b0f0;" goto statement_identifier ;) })) (if_statement "if (*(int *)(*piVar42 + (int)piVar40) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" if (parenthesized_expression "(*(int *)(*piVar42 + (int)piVar40) == 0)" ( (binary_expression "*(int *)(*piVar42 + (int)piVar40) == 0" (pointer_expression "*(int *)(*piVar42 + (int)piVar40)" * (cast_expression "(int *)(*piVar42 + (int)piVar40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar42 + (int)piVar40)" ( (binary_expression "*piVar42 + (int)piVar40" (pointer_expression "*piVar42" * identifier) + (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar28);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar28)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar28,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar28,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar28,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar28,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0006b0d0:\n  piVar40 = (int *)(*piVar42 + (int)piVar40);" statement_identifier : (expression_statement "piVar40 = (int *)(*piVar42 + (int)piVar40);" (assignment_expression "piVar40 = (int *)(*piVar42 + (int)piVar40)" identifier = (cast_expression "(int *)(*piVar42 + (int)piVar40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar42 + (int)piVar40)" ( (binary_expression "*piVar42 + (int)piVar40" (pointer_expression "*piVar42" * identifier) + (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar9 = *piVar40;" (assignment_expression "iVar9 = *piVar40" identifier = (pointer_expression "*piVar40" * identifier)) ;) (if_statement "if ((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)) {\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n  }" if (parenthesized_expression "((iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4))" ( (binary_expression "(iVar9 != 0) && (*(int *)(iVar9 + 0xc) == 4)" (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar9 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar9 + 0xc) == 4" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n  }" { (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (labeled_statement "LAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_4bc,0);" (call_expression "(*pcVar7)(3,auStack_4bc,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (iStack_43c == *piStack_548) {\n    return iVar19;\n  }" if (parenthesized_expression "(iStack_43c == *piStack_548)" ( (binary_expression "iStack_43c == *piStack_548" identifier == (pointer_expression "*piStack_548" * identifier)) )) (compound_statement "{\n    return iVar19;\n  }" { (return_statement "return iVar19;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x60b8)" * (cast_expression "(code **)(pcStack_560 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60b8)" ( (binary_expression "pcStack_560 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_any_job;" (assignment_expression "pcVar8 = wait_for_any_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_6b0 = pcVar7 + 0xe1290;" (assignment_expression "pcStack_6b0 = pcVar7 + 0xe1290" identifier = (binary_expression "pcVar7 + 0xe1290" identifier + number_literal)) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9ea4);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9ea4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9ea4)" * (cast_expression "(int *)(pcVar7 + 0xd9ea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9ea4)" ( (binary_expression "pcVar7 + 0xd9ea4" identifier + number_literal) ))))) ;) (expression_statement "puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c);" (assignment_expression "puVar38 = *(undefined4 **)(pcVar7 + 0xdb22c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xdb22c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xdb22c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb22c)" ( (binary_expression "pcVar7 + 0xdb22c" identifier + number_literal) ))))) ;) (expression_statement "uStack_58c = 0xffffffff;" (assignment_expression "uStack_58c = 0xffffffff" identifier = number_literal) ;) (expression_statement "piStack_59c = (int *)*puVar38;" (assignment_expression "piStack_59c = (int *)*puVar38" identifier = (cast_expression "(int *)*puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar38" * identifier))) ;) (expression_statement "puStack_598 = puVar28;" (assignment_expression "puStack_598 = puVar28" identifier = identifier) ;) (expression_statement "puStack_594 = auStack_4bc;" (assignment_expression "puStack_594 = auStack_4bc" identifier = identifier) ;) (expression_statement "iStack_590 = iVar19;" (assignment_expression "iStack_590 = iVar19" identifier = identifier) ;) (expression_statement "piStack_588 = piVar20;" (assignment_expression "piStack_588 = piVar20" identifier = identifier) ;) (expression_statement "iStack_584 = iVar5;" (assignment_expression "iStack_584 = iVar5" identifier = identifier) ;) (expression_statement "piStack_580 = piVar26;" (assignment_expression "piStack_580 = piVar26" identifier = identifier) ;) (expression_statement "piStack_57c = piVar40;" (assignment_expression "piStack_57c = piVar40" identifier = identifier) ;) (expression_statement "piStack_578 = piVar42;" (assignment_expression "piStack_578 = piVar42" identifier = identifier) ;) (expression_statement "pcStack_574 = pcVar8;" (assignment_expression "pcStack_574 = pcVar8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    iVar19 = *(int *)(pcVar7 + 0xd9ba8);\n    puVar28 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n    if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }\n    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    piVar42 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar42 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(iVar9 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar9 + -0x705c) == 0" (pointer_expression "*(int *)(iVar9 + -0x705c)" * (cast_expression "(int *)(iVar9 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x705c)" ( (binary_expression "iVar9 + -0x705c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar13 = auStack_69c;\n    iVar19 = *(int *)(pcVar7 + 0xd9ba8);\n    puVar28 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n    if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }\n    piVar20 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    piVar42 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar26 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar42 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );\n  }" { (expression_statement "puVar13 = auStack_69c;" (assignment_expression "puVar13 = auStack_69c" identifier = identifier) ;) (expression_statement "iVar19 = *(int *)(pcVar7 + 0xd9ba8);" (assignment_expression "iVar19 = *(int *)(pcVar7 + 0xd9ba8)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9ba8)" * (cast_expression "(int *)(pcVar7 + 0xd9ba8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9ba8)" ( (binary_expression "pcVar7 + 0xd9ba8" identifier + number_literal) ))))) ;) (expression_statement "puVar28 = auStack_61c;" (assignment_expression "puVar28 = auStack_61c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb024))(puVar13);" (call_expression "(**(code **)(pcVar7 + 0xdb024))(puVar13)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb024))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb024)" * (pointer_expression "*(code **)(pcVar7 + 0xdb024)" * (cast_expression "(code **)(pcVar7 + 0xdb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb024)" ( (binary_expression "pcVar7 + 0xdb024" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar28)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(iVar19 + 0x18)) {\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }" if (parenthesized_expression "(0 < (int)*(int **)(iVar19 + 0x18))" ( (binary_expression "0 < (int)*(int **)(iVar19 + 0x18)" number_literal < (cast_expression "(int)*(int **)(iVar19 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(iVar19 + 0x18)" * (cast_expression "(int **)(iVar19 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n      piVar42 = (int *)0x0;\n      piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar40 = piVar23;\n      do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));\n    }" { (expression_statement "piVar42 = (int *)0x0;" (assignment_expression "piVar42 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar23 = (int *)**(int **)(pcStack_6b0 + -0x76e4)" identifier = (cast_expression "(int *)**(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_6b0 + -0x76e4)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))))) ;) (expression_statement "piVar40 = piVar23;" (assignment_expression "piVar40 = piVar23" identifier = identifier) ;) (do_statement "do {\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      } while (piVar42 != *(int **)(iVar19 + 0x18));" do (compound_statement "{\n        iVar5 = *piVar40;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar42 = (int *)((int)piVar42 + 1);\n        piVar40 = piVar40 + 1;\n      }" { (expression_statement "iVar5 = *piVar40;" (assignment_expression "iVar5 = *piVar40" identifier = (pointer_expression "*piVar40" * identifier)) ;) (if_statement "if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4))" ( (binary_expression "(iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar5 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) == 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar42 = (int *)((int)piVar42 + 1);" (assignment_expression "piVar42 = (int *)((int)piVar42 + 1)" identifier = (cast_expression "(int *)((int)piVar42 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar42 + 1)" ( (binary_expression "(int)piVar42 + 1" (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar42 != *(int **)(iVar19 + 0x18))" ( (binary_expression "piVar42 != *(int **)(iVar19 + 0x18)" identifier != (pointer_expression "*(int **)(iVar19 + 0x18)" * (cast_expression "(int **)(iVar19 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "piVar20 = *(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar20 = *(int **)(pcStack_6b0 + -0x76e4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))) ;) (expression_statement "piVar39 = *(int **)(pcStack_6b0 + -0x7d0c);" (assignment_expression "piVar39 = *(int **)(pcStack_6b0 + -0x7d0c)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d0c)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d0c)" ( (binary_expression "pcStack_6b0 + -0x7d0c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar28,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "piVar42 = *(int **)(pcStack_6b0 + -0x7550);" (assignment_expression "piVar42 = *(int **)(pcStack_6b0 + -0x7550)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7550)" * (cast_expression "(int **)(pcStack_6b0 + -0x7550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7550)" ( (binary_expression "pcStack_6b0 + -0x7550" identifier + number_literal) ))))) ;) (expression_statement "piVar26 = *(int **)(pcStack_6b0 + -0x7d04);" (assignment_expression "piVar26 = *(int **)(pcStack_6b0 + -0x7d04)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d04)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d04)" ( (binary_expression "pcStack_6b0 + -0x7d04" identifier + number_literal) ))))) ;) (expression_statement "pcStack_6a4 = (code *)(piVar42 + 0x1398);" (assignment_expression "pcStack_6a4 = (code *)(piVar42 + 0x1398)" identifier = (cast_expression "(code *)(piVar42 + 0x1398)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar42 + 0x1398)" ( (binary_expression "piVar42 + 0x1398" identifier + number_literal) )))) ;) (do_statement "do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    } while( true );" do (compound_statement "{\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      iVar5 = *(int *)(iVar19 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar28,0);\n      if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar42 = (int *)(*pcVar7)();\n      *piVar42 = 0;\n      iVar5 = wait_for(-1);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar28);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);\n      if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n    }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar13);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar28)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *(int *)(iVar19 + 0x18);" (assignment_expression "iVar5 = *(int *)(iVar19 + 0x18)" identifier = (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" if (parenthesized_expression "(iVar5 < 1)" ( (binary_expression "iVar5 < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" { (labeled_statement "LAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);" statement_identifier : (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar28,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) })) }) (else_clause "else {\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" else (compound_statement "{\n        piVar40 = (int *)*piVar20;\n        iVar17 = 0;\n        while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" { (expression_statement "piVar40 = (int *)*piVar20;" (assignment_expression "piVar40 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (while_statement "while (((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))) {\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }" while (parenthesized_expression "(((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0)))" ( (parenthesized_expression "((iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0))" ( (binary_expression "(iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)) ||\n               ((*(uint *)(iVar37 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1))" ( (comma_expression "iVar37 = *piVar40, iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)" (assignment_expression "iVar37 = *piVar40" identifier = (pointer_expression "*piVar40" * identifier)) , (binary_expression "iVar37 == 0 || (*(int *)(iVar37 + 0xc) != 1)" (binary_expression "iVar37 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar37 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar37 + 0xc) != 1" (pointer_expression "*(int *)(iVar37 + 0xc)" * (cast_expression "(int *)(iVar37 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0xc)" ( (binary_expression "iVar37 + 0xc" identifier + number_literal) )))) != number_literal) )))) )) || (parenthesized_expression "((*(uint *)(iVar37 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar37 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar37 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar37 + 0x10) & 1" (pointer_expression "*(uint *)(iVar37 + 0x10)" * (cast_expression "(uint *)(iVar37 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar37 + 0x10)" ( (binary_expression "iVar37 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          iVar17 = iVar17 + 1;\n          piVar40 = piVar40 + 1;\n          if (iVar17 == iVar5) goto LAB_0006b680;\n        }" { (expression_statement "iVar17 = iVar17 + 1;" (assignment_expression "iVar17 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) (if_statement "if (iVar17 == iVar5) goto LAB_0006b680;" if (parenthesized_expression "(iVar17 == iVar5)" ( (binary_expression "iVar17 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006b680;" goto statement_identifier ;)) })) (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar7)(3,puVar28,0);" (call_expression "(*pcVar7)(3,puVar28,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,puVar28,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (*piVar39 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }" if (parenthesized_expression "(*piVar39 == 0)" ( (binary_expression "*piVar39 == 0" (pointer_expression "*piVar39" * identifier) == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar26 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (if_statement "if (*piVar26 == 0) goto LAB_0006b564;" if (parenthesized_expression "(*piVar26 == 0)" ( (binary_expression "*piVar26 == 0" (pointer_expression "*piVar26" * identifier) == number_literal) )) (goto_statement "goto LAB_0006b564;" goto statement_identifier ;)) (labeled_statement "LAB_0006b6f0:\n        (*pcVar7)();" statement_identifier : (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;)) (if_statement "if (*piVar39 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" if (parenthesized_expression "(*piVar39 != 0)" ( (binary_expression "*piVar39 != 0" (pointer_expression "*piVar39" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b708;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);\n        if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }\n      }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar39);" (call_expression "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar39)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(*piVar39)" ( (pointer_expression "*piVar39" * identifier) ))) ;) (if_statement "if (*piVar26 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" if (parenthesized_expression "(*piVar26 != 0)" ( (binary_expression "*piVar26 != 0" (pointer_expression "*piVar26" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b6f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar39 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }" if (parenthesized_expression "(*piVar39 != 0)" ( (binary_expression "*piVar39 != 0" (pointer_expression "*piVar39" * identifier) != number_literal) )) (compound_statement "{\nLAB_0006b708:\n          (*pcVar7)(*piVar39);\n        }" { (labeled_statement "LAB_0006b708:\n          (*pcVar7)(*piVar39);" statement_identifier : (expression_statement "(*pcVar7)(*piVar39);" (call_expression "(*pcVar7)(*piVar39)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(*piVar39)" ( (pointer_expression "*piVar39" * identifier) ))) ;)) })) }))) (if_statement "if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73d8) == 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73d8) == 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73d8)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73d8)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d8)" ( (binary_expression "pcStack_6b0 + -0x73d8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }" { (labeled_statement "LAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" else (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73dc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73dc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73dc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73dc)" * (cast_expression "(int **)(pcStack_6b0 + -0x73dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73dc)" ( (binary_expression "pcStack_6b0 + -0x73dc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" { (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n            piVar40 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" { (expression_statement "piVar40 = *(int **)(pcStack_6b0 + -0x73d4);" (assignment_expression "piVar40 = *(int **)(pcStack_6b0 + -0x73d4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x73d4)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d4)" ( (binary_expression "pcStack_6b0 + -0x73d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0)" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != (pointer_expression "*(int *)(pcStack_6b0 + -0x73f0)" * (cast_expression "(int *)(pcStack_6b0 + -0x73f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_6b0 + -0x73f0)" ( (binary_expression "pcStack_6b0 + -0x73f0" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006b5a4;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b730;" goto statement_identifier ;) })) })) }))) (expression_statement "piVar42 = (int *)(*pcVar7)();" (assignment_expression "piVar42 = (int *)(*pcVar7)()" identifier = (cast_expression "(int *)(*pcVar7)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar42 = 0;" (assignment_expression "*piVar42 = 0" (pointer_expression "*piVar42" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for(-1);" (assignment_expression "iVar5 = wait_for(-1)" identifier = (call_expression "wait_for(-1)" identifier (argument_list "(-1)" ( number_literal )))) ;) (if_statement "if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;) (if_statement "if ((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" if (parenthesized_expression "((*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0))" ( (binary_expression "(*piVar42 == 10) && (*(int *)(iVar19 + 0x18) != 0)" (parenthesized_expression "(*piVar42 == 10)" ( (binary_expression "*piVar42 == 10" (pointer_expression "*piVar42" * identifier) == number_literal) )) && (parenthesized_expression "(*(int *)(iVar19 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar19 + 0x18) != 0" (pointer_expression "*(int *)(iVar19 + 0x18)" * (cast_expression "(int *)(iVar19 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" { (expression_statement "(*pcStack_6a4)();" (call_expression "(*pcStack_6a4)()" (parenthesized_expression "(*pcStack_6a4)" ( (pointer_expression "*pcStack_6a4" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0006b5d4;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" else (compound_statement "{\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" { (labeled_statement "LAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;)) }))) (expression_statement "(*pcVar7)(puVar13);" (call_expression "(*pcVar7)(puVar13)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar28)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar28)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar28)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(iVar19 + 0x18)) {\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }" if (parenthesized_expression "(0 < (int)*(int **)(iVar19 + 0x18))" ( (binary_expression "0 < (int)*(int **)(iVar19 + 0x18)" number_literal < (cast_expression "(int)*(int **)(iVar19 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(iVar19 + 0x18)" * (cast_expression "(int **)(iVar19 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n        piVar23 = (int *)*piVar20;\n        piVar42 = (int *)0x0;\n        piVar40 = piVar23;\n        do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);\n      }" { (expression_statement "piVar23 = (int *)*piVar20;" (assignment_expression "piVar23 = (int *)*piVar20" identifier = (cast_expression "(int *)*piVar20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar20" * identifier))) ;) (expression_statement "piVar42 = (int *)0x0;" (assignment_expression "piVar42 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar40 = piVar23;" (assignment_expression "piVar40 = piVar23" identifier = identifier) ;) (do_statement "do {\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        } while (*(int **)(iVar19 + 0x18) != piVar42);" do (compound_statement "{\n          if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar42 = (int *)((int)piVar42 + 1);\n          piVar40 = piVar40 + 1;\n        }" { (if_statement "if ((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)) goto LAB_0006b3b8;" if (parenthesized_expression "((*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4))" ( (binary_expression "(*piVar40 != 0) && (*(int *)(*piVar40 + 0xc) == 4)" (parenthesized_expression "(*piVar40 != 0)" ( (binary_expression "*piVar40 != 0" (pointer_expression "*piVar40" * identifier) != number_literal) )) && (parenthesized_expression "(*(int *)(*piVar40 + 0xc) == 4)" ( (binary_expression "*(int *)(*piVar40 + 0xc) == 4" (pointer_expression "*(int *)(*piVar40 + 0xc)" * (cast_expression "(int *)(*piVar40 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar40 + 0xc)" ( (binary_expression "*piVar40 + 0xc" (pointer_expression "*piVar40" * identifier) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar42 = (int *)((int)piVar42 + 1);" (assignment_expression "piVar42 = (int *)((int)piVar42 + 1)" identifier = (cast_expression "(int *)((int)piVar42 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar42 + 1)" ( (binary_expression "(int)piVar42 + 1" (cast_expression "(int)piVar42" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar40 = piVar40 + 1;" (assignment_expression "piVar40 = piVar40 + 1" identifier = (binary_expression "piVar40 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(iVar19 + 0x18) != piVar42)" ( (binary_expression "*(int **)(iVar19 + 0x18) != piVar42" (pointer_expression "*(int **)(iVar19 + 0x18)" * (cast_expression "(int **)(iVar19 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar19 + 0x18)" ( (binary_expression "iVar19 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar28,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar28,0)" ( number_literal , identifier , number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006b430:\n  pcVar7 = pcStack_6b0;" statement_identifier : (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;)) (if_statement "if (piStack_59c == (int *)*puVar38) {\n    return (int)puVar13;\n  }" if (parenthesized_expression "(piStack_59c == (int *)*puVar38)" ( (binary_expression "piStack_59c == (int *)*puVar38" identifier == (cast_expression "(int *)*puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar38" * identifier))) )) (compound_statement "{\n    return (int)puVar13;\n  }" { (return_statement "return (int)puVar13;" return (cast_expression "(int)puVar13" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "piVar40 = piStack_59c;" (assignment_expression "piVar40 = piStack_59c" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x60b8))();" (call_expression "(**(code **)(pcStack_6b0 + -0x60b8))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x60b8))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x60b8)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x60b8)" * (cast_expression "(code **)(pcStack_6b0 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x60b8)" ( (binary_expression "pcStack_6b0 + -0x60b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x625c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x625c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x625c)" * (cast_expression "(code **)(pcVar7 + -0x625c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x625c)" ( (binary_expression "pcVar7 + -0x625c" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = start_job;" (assignment_expression "pcVar8 = start_job" identifier = identifier) ;) (expression_statement "puVar21 = (undefined4 *)0x1;" (assignment_expression "puVar21 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar7 + 0xdada0);" (assignment_expression "piVar23 = *(int **)(pcVar7 + 0xdada0)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdada0)" * (cast_expression "(int **)(pcVar7 + 0xdada0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdada0)" ( (binary_expression "pcVar7 + 0xdada0" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (int)piVar40 * 4;" (assignment_expression "iVar5 = (int)piVar40 * 4" identifier = (binary_expression "(int)piVar40 * 4" (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "iStack_6ec = *piVar23;" (assignment_expression "iStack_6ec = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "piVar33 = *(int **)(pcVar7 + 0xd9720);" (assignment_expression "piVar33 = *(int **)(pcVar7 + 0xd9720)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9720)" * (cast_expression "(int **)(pcVar7 + 0xd9720)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9720)" ( (binary_expression "pcVar7 + 0xd9720" identifier + number_literal) ))))) ;) (expression_statement "puStack_6e8 = puVar28;" (assignment_expression "puStack_6e8 = puVar28" identifier = identifier) ;) (expression_statement "puStack_6e4 = puVar13;" (assignment_expression "puStack_6e4 = puVar13" identifier = identifier) ;) (expression_statement "iStack_6e0 = iVar19;" (assignment_expression "iStack_6e0 = iVar19" identifier = identifier) ;) (expression_statement "piStack_6dc = piVar39;" (assignment_expression "piStack_6dc = piVar39" identifier = identifier) ;) (expression_statement "piStack_6d8 = piVar20;" (assignment_expression "piStack_6d8 = piVar20" identifier = identifier) ;) (expression_statement "puStack_6d4 = puVar38;" (assignment_expression "puStack_6d4 = puVar38" identifier = identifier) ;) (expression_statement "piStack_6d0 = piVar26;" (assignment_expression "piStack_6d0 = piVar26" identifier = identifier) ;) (expression_statement "iStack_6cc = iVar9;" (assignment_expression "iStack_6cc = iVar9" identifier = identifier) ;) (expression_statement "piStack_6c8 = piVar42;" (assignment_expression "piStack_6c8 = piVar42" identifier = identifier) ;) (expression_statement "pcStack_6c4 = pcVar8;" (assignment_expression "pcStack_6c4 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);" (call_expression "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac28))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac28)" * (pointer_expression "*(code **)(pcVar7 + 0xdac28)" * (cast_expression "(code **)(pcVar7 + 0xdac28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac28)" ( (binary_expression "pcVar7 + 0xdac28" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_76c)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(1,auStack_7ec,auStack_76c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc);" (assignment_expression "iVar19 = *(int *)(*(int *)(*piVar33 + iVar5) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar33 + iVar5) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar33 + iVar5) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 0xc)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 0xc" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) ))))) ;) (if_statement "if (iVar19 == 4) {\n    iVar5 = -1;\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(iVar19 == 4)" ( (binary_expression "iVar19 == 4" identifier == number_literal) )) (compound_statement "{\n    iVar5 = -1;\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (expression_statement "iVar5 = -1;" (assignment_expression "iVar5 = -1" identifier = number_literal) ;) (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec));" (call_expression "internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec))" identifier (argument_list "(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec))" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }" else (if_statement "if (puVar21 == (undefined4 *)0x0) {\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(puVar21 == (undefined4 *)0x0)" ( (binary_expression "puVar21 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);\nLAB_0006b9dc:\n    iVar5 = 0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (if_statement "if (iVar19 != 1) {\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" if (parenthesized_expression "(iVar19 != 1)" ( (binary_expression "iVar19 != 1" identifier != number_literal) )) (compound_statement "{\n      pcStack_7f4 = current_working_directory();\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      iVar17 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar39 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;\n      piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" { (expression_statement "pcStack_7f4 = current_working_directory();" (assignment_expression "pcStack_7f4 = current_working_directory()" identifier = (call_expression "current_working_directory()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(*piVar33 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar33 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) ))))) ;) (expression_statement "iVar17 = **(int **)(pcVar7 + 0xd8e50);" (assignment_expression "iVar17 = **(int **)(pcVar7 + 0xd8e50)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd8e50)" * (pointer_expression "*(int **)(pcVar7 + 0xd8e50)" * (cast_expression "(int **)(pcVar7 + 0xd8e50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8e50)" ( (binary_expression "pcVar7 + 0xd8e50" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (iVar17 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40) {\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar40" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x2c" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }" { (expression_statement "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;" (assignment_expression "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7144" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" else (compound_statement "{\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;\n          iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40) goto LAB_0006b860;" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar40" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x30" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0006b860;" goto statement_identifier ;)) (expression_statement "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;" (assignment_expression "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d98" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" else (compound_statement "{\nLAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" { (labeled_statement "LAB_0006b860:\n        iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" statement_identifier : (expression_statement "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" (assignment_expression "iVar17 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b04" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;)) }))) (expression_statement "piVar39 = *(int **)(iVar9 + 4);" (assignment_expression "piVar39 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)\n      ;" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar40 + 1,iVar17)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , (binary_expression "(int)piVar40 + 1" (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier ))) ;) (expression_statement "piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4);" (assignment_expression "piVar20 = *(int **)(*(int *)(*piVar33 + iVar5) + 4)" identifier = (pointer_expression "*(int **)(*(int *)(*piVar33 + iVar5) + 4)" * (cast_expression "(int **)(*(int *)(*piVar33 + iVar5) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 4)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 4" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0006b898;" goto statement_identifier ;) })) (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7db4" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1);" (call_expression "internal_error(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1)" identifier (argument_list "(pcVar15,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar40 + 1)" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) , (binary_expression "(int)piVar40 + 1" (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (labeled_statement "LAB_0006b9dc:\n    iVar5 = 0;" statement_identifier : (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;)) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else {\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }" else (compound_statement "{\n    pcStack_7f4 = current_working_directory();\n    *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;\n    set_current_job((int)piVar40);\n    iVar9 = *(int *)(*piVar33 + iVar5);\n    piVar20 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar39 = piVar20;\nLAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar37 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);\n    if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }\n    uVar29 = *puVar38;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);\n    if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }\nLAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);\n    pVar27 = pPVar12->pid;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    iVar5 = wait_for(pVar27);\n    piVar39 = piVar26;\n    do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);\n    *piVar42 = *piVar14;\n    set_tty_state();\n  }" { (expression_statement "pcStack_7f4 = current_working_directory();" (assignment_expression "pcStack_7f4 = current_working_directory()" identifier = (call_expression "current_working_directory()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (expression_statement "set_current_job((int)piVar40);" (call_expression "set_current_job((int)piVar40)" identifier (argument_list "((int)piVar40)" ( (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "iVar9 = *(int *)(*piVar33 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar33 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) ))))) ;) (expression_statement "piVar20 = *(int **)(iVar9 + 4);" (assignment_expression "piVar20 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "piVar39 = piVar20;" (assignment_expression "piVar39 = piVar20" identifier = identifier) ;) (labeled_statement "LAB_0006b898:\n    iVar17 = *(int *)(pcVar7 + 0xd8e3c);" statement_identifier : (expression_statement "iVar17 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar17 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;)) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd8e70);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd8e70)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e70)" * (cast_expression "(int *)(pcVar7 + 0xd8e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e70)" ( (binary_expression "pcVar7 + 0xd8e70" identifier + number_literal) ))))) ;) (expression_statement "iVar37 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar37 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    } while (piVar20 != piVar39);" do (compound_statement "{\n      iVar22 = piVar39[4];\n      if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }\n      iVar24 = iVar37 + 0x6720;\n      if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);\n      piVar39 = (int *)*piVar39;\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n      piVar20 = (int *)puVar38[1];\n    }" { (expression_statement "iVar22 = piVar39[4];" (assignment_expression "iVar22 = piVar39[4]" identifier = (subscript_expression "piVar39[4]" identifier [ number_literal ])) ;) (if_statement "if (piVar39[4] == 0) {\n        iVar22 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "(piVar39[4] == 0)" ( (binary_expression "piVar39[4] == 0" (subscript_expression "piVar39[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar22 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar22 = iVar9 + -0x6800;" (assignment_expression "iVar22 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "iVar24 = iVar37 + 0x6720;" (assignment_expression "iVar24 = iVar37 + 0x6720" identifier = (binary_expression "iVar37 + 0x6720" identifier + number_literal)) ;) (if_statement "if ((int *)*piVar39 == piVar20) {\n        iVar24 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "((int *)*piVar39 == piVar20)" ( (binary_expression "(int *)*piVar39 == piVar20" (cast_expression "(int *)*piVar39" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar39" * identifier)) == identifier) )) (compound_statement "{\n        iVar24 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar24 = iVar9 + -0x6800;" (assignment_expression "iVar24 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,iVar17 + 0x6298,iVar22,iVar24)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,iVar17 + 0x6298,iVar22,iVar24)" ( number_literal , (binary_expression "iVar17 + 0x6298" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "piVar39 = (int *)*piVar39;" (assignment_expression "piVar39 = (int *)*piVar39" identifier = (cast_expression "(int *)*piVar39" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar39" * identifier))) ;) (expression_statement "puVar38 = *(undefined4 **)(*piVar33 + iVar5);" (assignment_expression "puVar38 = *(undefined4 **)(*piVar33 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar33 + iVar5)" * (cast_expression "(undefined4 **)(*piVar33 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) ))))) ;) (expression_statement "piVar20 = (int *)puVar38[1];" (assignment_expression "piVar20 = (int *)puVar38[1]" identifier = (cast_expression "(int *)puVar38[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar38[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(piVar20 != piVar39)" ( (binary_expression "piVar20 != piVar39" identifier != identifier) )) ;) (if_statement "if (puVar21 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }" if (parenthesized_expression "(puVar21 == (undefined4 *)0x0)" ( (binary_expression "puVar21 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar38 = *(undefined4 **)(*piVar33 + iVar5);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b74" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar38 = *(undefined4 **)(*piVar33 + iVar5);" (assignment_expression "puVar38 = *(undefined4 **)(*piVar33 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar33 + iVar5)" * (cast_expression "(undefined4 **)(*piVar33 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar29 = *puVar38;" (assignment_expression "uVar29 = *puVar38" identifier = (pointer_expression "*puVar38" * identifier)) ;) (expression_statement "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29);" (assignment_expression "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdae0c))(pcStack_7f4,uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdae0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdae0c)" * (pointer_expression "*(code **)(pcVar7 + 0xdae0c)" * (cast_expression "(code **)(pcVar7 + 0xdae0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdae0c)" ( (binary_expression "pcVar7 + 0xdae0c" identifier + number_literal) ))))) )) (argument_list "(pcStack_7f4,uVar29)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);\n    }" { (expression_statement "uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29);" (assignment_expression "uVar29 = (**(code **)(pcVar7 + 0xd9234))(uVar29)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd9234))(uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd9234))" ( (pointer_expression "**(code **)(pcVar7 + 0xd9234)" * (pointer_expression "*(code **)(pcVar7 + 0xd9234)" * (cast_expression "(code **)(pcVar7 + 0xd9234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9234)" ( (binary_expression "pcVar7 + 0xd9234" identifier + number_literal) ))))) )) (argument_list "(uVar29)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar29)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7de0" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdac04))(10);" (call_expression "(**(code **)(pcVar7 + 0xdac04))(10)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac04))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac04)" * (pointer_expression "*(code **)(pcVar7 + 0xdac04)" * (cast_expression "(code **)(pcVar7 + 0xdac04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac04)" ( (binary_expression "pcVar7 + 0xdac04" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (iVar19 == 1) {\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (compound_statement "{\n      if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      iVar17 = *piVar14;\n      *piVar18 = iVar17;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }" { (if_statement "if (puVar21 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" if (parenthesized_expression "(puVar21 == (undefined4 *)0x0)" ( (binary_expression "puVar21 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" { (expression_statement "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe;" (assignment_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar33 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar33 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar33 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0006b9c8;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(iVar9 + -0x70d0);" (assignment_expression "piVar20 = (int *)(iVar9 + -0x70d0)" identifier = (cast_expression "(int *)(iVar9 + -0x70d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar39 = piVar20;" (assignment_expression "piVar39 = piVar20" identifier = identifier) ;) (expression_statement "piVar42 = piVar26;" (assignment_expression "piVar42 = piVar26" identifier = identifier) ;) (do_statement "do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));" do (compound_statement "{\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      }" { (expression_statement "piVar14 = piVar39 + 4;" (assignment_expression "piVar14 = piVar39 + 4" identifier = (binary_expression "piVar39 + 4" identifier + number_literal)) ;) (expression_statement "piVar18 = piVar42 + 4;" (assignment_expression "piVar18 = piVar42 + 4" identifier = (binary_expression "piVar42 + 4" identifier + number_literal)) ;) (expression_statement "iVar22 = piVar39[1];" (assignment_expression "iVar22 = piVar39[1]" identifier = (subscript_expression "piVar39[1]" identifier [ number_literal ])) ;) (expression_statement "iVar37 = piVar39[2];" (assignment_expression "iVar37 = piVar39[2]" identifier = (subscript_expression "piVar39[2]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = piVar39[3];" (assignment_expression "iVar17 = piVar39[3]" identifier = (subscript_expression "piVar39[3]" identifier [ number_literal ])) ;) (expression_statement "*piVar42 = *piVar39;" (assignment_expression "*piVar42 = *piVar39" (pointer_expression "*piVar42" * identifier) = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "piVar42[1] = iVar22;" (assignment_expression "piVar42[1] = iVar22" (subscript_expression "piVar42[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar42[2] = iVar37;" (assignment_expression "piVar42[2] = iVar37" (subscript_expression "piVar42[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar42[3] = iVar17;" (assignment_expression "piVar42[3] = iVar17" (subscript_expression "piVar42[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar39 = piVar14;" (assignment_expression "piVar39 = piVar14" identifier = identifier) ;) (expression_statement "piVar42 = piVar18;" (assignment_expression "piVar42 = piVar18" identifier = identifier) ;) }) while (parenthesized_expression "(piVar14 != (int *)(iVar9 + -0x70a0))" ( (binary_expression "piVar14 != (int *)(iVar9 + -0x70a0)" identifier != (cast_expression "(int *)(iVar9 + -0x70a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar33;" (assignment_expression "iVar9 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "iVar17 = *piVar14;" (assignment_expression "iVar17 = *piVar14" identifier = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "*piVar18 = iVar17;" (assignment_expression "*piVar18 = iVar17" (pointer_expression "*piVar18" * identifier) = identifier) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006bce0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }" else (compound_statement "{\n      iVar9 = *(int *)(*piVar33 + iVar5);\n      piVar20 = *(int **)(iVar9 + 4);\n      piVar39 = piVar20;\n      do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      piVar20 = (int *)(iVar9 + -0x70d0);\n      piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      piVar39 = piVar20;\n      piVar42 = piVar26;\n      do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));\n      iVar9 = *piVar33;\n      *piVar18 = *piVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }\n      iVar17 = 0x19;\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar19 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8));\n    }" { (expression_statement "iVar9 = *(int *)(*piVar33 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar33 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar33 + iVar5)" * (cast_expression "(int *)(*piVar33 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar33 + iVar5)" ( (binary_expression "*piVar33 + iVar5" (pointer_expression "*piVar33" * identifier) + identifier) ))))) ;) (expression_statement "piVar20 = *(int **)(iVar9 + 4);" (assignment_expression "piVar20 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar39 = piVar20;" (assignment_expression "piVar39 = piVar20" identifier = identifier) ;) (do_statement "do {\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      } while (piVar20 != piVar39);" do (compound_statement "{\n        if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }\n        piVar39 = (int *)*piVar39;\n      }" { (if_statement "if (*(char *)((int)piVar39 + 0xb) == '\x7f') {\n          piVar39[3] = 1;\n        }" if (parenthesized_expression "(*(char *)((int)piVar39 + 0xb) == '\x7f')" ( (binary_expression "*(char *)((int)piVar39 + 0xb) == '\x7f'" (pointer_expression "*(char *)((int)piVar39 + 0xb)" * (cast_expression "(char *)((int)piVar39 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar39 + 0xb)" ( (binary_expression "(int)piVar39 + 0xb" (cast_expression "(int)piVar39" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n          piVar39[3] = 1;\n        }" { (expression_statement "piVar39[3] = 1;" (assignment_expression "piVar39[3] = 1" (subscript_expression "piVar39[3]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "piVar39 = (int *)*piVar39;" (assignment_expression "piVar39 = (int *)*piVar39" identifier = (cast_expression "(int *)*piVar39" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar39" * identifier))) ;) }) while (parenthesized_expression "(piVar20 != piVar39)" ( (binary_expression "piVar20 != piVar39" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(iVar9 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar9 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar21 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }" if (parenthesized_expression "(puVar21 == (undefined4 *)0x0)" ( (binary_expression "puVar21 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        reset_current();\n        goto LAB_0006b9dc;\n      }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar9 + 8),0x19)" ( (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;) (labeled_statement "LAB_0006b9c8:\n        reset_current();" statement_identifier : (expression_statement "reset_current();" (call_expression "reset_current()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0006b9dc;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = (int *)(iVar9 + -0x70d0);" (assignment_expression "piVar20 = (int *)(iVar9 + -0x70d0)" identifier = (cast_expression "(int *)(iVar9 + -0x70d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "piVar26 = (int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(int *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar39 = piVar20;" (assignment_expression "piVar39 = piVar20" identifier = identifier) ;) (expression_statement "piVar42 = piVar26;" (assignment_expression "piVar42 = piVar26" identifier = identifier) ;) (do_statement "do {\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      } while (piVar14 != (int *)(iVar9 + -0x70a0));" do (compound_statement "{\n        piVar14 = piVar39 + 4;\n        piVar18 = piVar42 + 4;\n        iVar22 = piVar39[1];\n        iVar37 = piVar39[2];\n        iVar17 = piVar39[3];\n        *piVar42 = *piVar39;\n        piVar42[1] = iVar22;\n        piVar42[2] = iVar37;\n        piVar42[3] = iVar17;\n        piVar39 = piVar14;\n        piVar42 = piVar18;\n      }" { (expression_statement "piVar14 = piVar39 + 4;" (assignment_expression "piVar14 = piVar39 + 4" identifier = (binary_expression "piVar39 + 4" identifier + number_literal)) ;) (expression_statement "piVar18 = piVar42 + 4;" (assignment_expression "piVar18 = piVar42 + 4" identifier = (binary_expression "piVar42 + 4" identifier + number_literal)) ;) (expression_statement "iVar22 = piVar39[1];" (assignment_expression "iVar22 = piVar39[1]" identifier = (subscript_expression "piVar39[1]" identifier [ number_literal ])) ;) (expression_statement "iVar37 = piVar39[2];" (assignment_expression "iVar37 = piVar39[2]" identifier = (subscript_expression "piVar39[2]" identifier [ number_literal ])) ;) (expression_statement "iVar17 = piVar39[3];" (assignment_expression "iVar17 = piVar39[3]" identifier = (subscript_expression "piVar39[3]" identifier [ number_literal ])) ;) (expression_statement "*piVar42 = *piVar39;" (assignment_expression "*piVar42 = *piVar39" (pointer_expression "*piVar42" * identifier) = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "piVar42[1] = iVar22;" (assignment_expression "piVar42[1] = iVar22" (subscript_expression "piVar42[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar42[2] = iVar37;" (assignment_expression "piVar42[2] = iVar37" (subscript_expression "piVar42[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar42[3] = iVar17;" (assignment_expression "piVar42[3] = iVar17" (subscript_expression "piVar42[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar39 = piVar14;" (assignment_expression "piVar39 = piVar14" identifier = identifier) ;) (expression_statement "piVar42 = piVar18;" (assignment_expression "piVar42 = piVar18" identifier = identifier) ;) }) while (parenthesized_expression "(piVar14 != (int *)(iVar9 + -0x70a0))" ( (binary_expression "piVar14 != (int *)(iVar9 + -0x70a0)" identifier != (cast_expression "(int *)(iVar9 + -0x70a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar33;" (assignment_expression "iVar9 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (expression_statement "*piVar18 = *piVar14;" (assignment_expression "*piVar18 = *piVar14" (pointer_expression "*piVar18" * identifier) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar19 = *piVar33;\n      }\n      else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar19 = *piVar33;\n      }" { (expression_statement "iVar19 = *piVar33;" (assignment_expression "iVar19 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) }) (else_clause "else {\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }" else (compound_statement "{\nLAB_0006bce0:\n        iVar17 = 0;\n        give_terminal_to(*(pid_t *)(iVar9 + 8),0);\n        if (iVar19 == 1) goto LAB_0006bbc8;\n        iVar19 = *piVar33;\n      }" { (labeled_statement "LAB_0006bce0:\n        iVar17 = 0;" statement_identifier : (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;)) (expression_statement "give_terminal_to(*(pid_t *)(iVar9 + 8),0);" (call_expression "give_terminal_to(*(pid_t *)(iVar9 + 8),0)" identifier (argument_list "(*(pid_t *)(iVar9 + 8),0)" ( (pointer_expression "*(pid_t *)(iVar9 + 8)" * (cast_expression "(pid_t *)(iVar9 + 8)" ( (type_descriptor "pid_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;) (if_statement "if (iVar19 == 1) goto LAB_0006bbc8;" if (parenthesized_expression "(iVar19 == 1)" ( (binary_expression "iVar19 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006bbc8;" goto statement_identifier ;)) (expression_statement "iVar19 = *piVar33;" (assignment_expression "iVar19 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) }))) (expression_statement "iVar17 = 0x19;" (assignment_expression "iVar17 = 0x19" identifier = number_literal) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar19 + iVar5);" (assignment_expression "iVar5 = *(int *)(iVar19 + iVar5)" identifier = (pointer_expression "*(int *)(iVar19 + iVar5)" * (cast_expression "(int *)(iVar19 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar5)" ( (binary_expression "iVar19 + iVar5" identifier + identifier) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar5 + 8));" (call_expression "(*pcVar8)(*(undefined4 *)(iVar5 + 8))" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar5 + 8))" ( (pointer_expression "*(undefined4 *)(iVar5 + 8)" * (cast_expression "(undefined4 *)(iVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) ))) ;) }))) (labeled_statement "LAB_0006bbc8:\n    pPVar12 = find_last_proc((int)piVar40,iVar17);" statement_identifier : (expression_statement "pPVar12 = find_last_proc((int)piVar40,iVar17);" (assignment_expression "pPVar12 = find_last_proc((int)piVar40,iVar17)" identifier = (call_expression "find_last_proc((int)piVar40,iVar17)" identifier (argument_list "((int)piVar40,iVar17)" ( (cast_expression "(int)piVar40" ( (type_descriptor "int" primitive_type) ) identifier) , identifier )))) ;)) (expression_statement "pVar27 = pPVar12->pid;" (assignment_expression "pVar27 = pPVar12->pid" identifier = (field_expression "pPVar12->pid" identifier -> field_identifier)) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = wait_for(pVar27);" (assignment_expression "iVar5 = wait_for(pVar27)" identifier = (call_expression "wait_for(pVar27)" identifier (argument_list "(pVar27)" ( identifier )))) ;) (expression_statement "piVar39 = piVar26;" (assignment_expression "piVar39 = piVar26" identifier = identifier) ;) (do_statement "do {\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    } while (piVar14 != piVar26 + 0xc);" do (compound_statement "{\n      piVar14 = piVar39 + 4;\n      piVar42 = piVar20 + 4;\n      iVar17 = piVar39[1];\n      iVar9 = piVar39[2];\n      iVar19 = piVar39[3];\n      *piVar20 = *piVar39;\n      piVar20[1] = iVar17;\n      piVar20[2] = iVar9;\n      piVar20[3] = iVar19;\n      piVar20 = piVar42;\n      piVar39 = piVar14;\n    }" { (expression_statement "piVar14 = piVar39 + 4;" (assignment_expression "piVar14 = piVar39 + 4" identifier = (binary_expression "piVar39 + 4" identifier + number_literal)) ;) (expression_statement "piVar42 = piVar20 + 4;" (assignment_expression "piVar42 = piVar20 + 4" identifier = (binary_expression "piVar20 + 4" identifier + number_literal)) ;) (expression_statement "iVar17 = piVar39[1];" (assignment_expression "iVar17 = piVar39[1]" identifier = (subscript_expression "piVar39[1]" identifier [ number_literal ])) ;) (expression_statement "iVar9 = piVar39[2];" (assignment_expression "iVar9 = piVar39[2]" identifier = (subscript_expression "piVar39[2]" identifier [ number_literal ])) ;) (expression_statement "iVar19 = piVar39[3];" (assignment_expression "iVar19 = piVar39[3]" identifier = (subscript_expression "piVar39[3]" identifier [ number_literal ])) ;) (expression_statement "*piVar20 = *piVar39;" (assignment_expression "*piVar20 = *piVar39" (pointer_expression "*piVar20" * identifier) = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "piVar20[1] = iVar17;" (assignment_expression "piVar20[1] = iVar17" (subscript_expression "piVar20[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[2] = iVar9;" (assignment_expression "piVar20[2] = iVar9" (subscript_expression "piVar20[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20[3] = iVar19;" (assignment_expression "piVar20[3] = iVar19" (subscript_expression "piVar20[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar20 = piVar42;" (assignment_expression "piVar20 = piVar42" identifier = identifier) ;) (expression_statement "piVar39 = piVar14;" (assignment_expression "piVar39 = piVar14" identifier = identifier) ;) }) while (parenthesized_expression "(piVar14 != piVar26 + 0xc)" ( (binary_expression "piVar14 != piVar26 + 0xc" identifier != (binary_expression "piVar26 + 0xc" identifier + number_literal)) )) ;) (expression_statement "*piVar42 = *piVar14;" (assignment_expression "*piVar42 = *piVar14" (pointer_expression "*piVar42" * identifier) = (pointer_expression "*piVar14" * identifier)) ;) (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) }))))) (if_statement "if (iStack_6ec == *piVar23) {\n    return iVar5;\n  }" if (parenthesized_expression "(iStack_6ec == *piVar23)" ( (binary_expression "iStack_6ec == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + 0xdad4c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + 0xdad4c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad4c)" * (cast_expression "(code **)(pcVar7 + 0xdad4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad4c)" ( (binary_expression "pcVar7 + 0xdad4c" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iStack_6ec;" (assignment_expression "iVar5 = iStack_6ec" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar39 = *(int **)(pcVar7 + 0xd8b10);" (assignment_expression "piVar39 = *(int **)(pcVar7 + 0xd8b10)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b10)" * (cast_expression "(int **)(pcVar7 + 0xd8b10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b10)" ( (binary_expression "pcVar7 + 0xd8b10" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = (**(code **)(pcVar7 + 0xda6dc))();" (assignment_expression "iVar19 = (**(code **)(pcVar7 + 0xda6dc))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6dc))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6dc)" * (cast_expression "(code **)(pcVar7 + 0xda6dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6dc)" ( (binary_expression "pcVar7 + 0xda6dc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*piVar39 = iVar19;" (assignment_expression "*piVar39 = iVar19" (pointer_expression "*piVar39" * identifier) = identifier) ;) (if_statement "if (iVar19 == -1) {\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(pcVar15);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar29 = *puVar21;\nLAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);\n    *piVar33 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar33;\n  }\n  else {\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }" if (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) (compound_statement "{\n    pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(pcVar15);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar29 = *puVar21;\nLAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);\n    *piVar33 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar33;\n  }" { (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7dec" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "sys_error(pcVar15);" (call_expression "sys_error(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda620))(1);" (call_expression "(**(code **)(pcVar7 + 0xda620))(1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda620))" ( (pointer_expression "**(code **)(pcVar7 + 0xda620)" * (pointer_expression "*(code **)(pcVar7 + 0xda620)" * (cast_expression "(code **)(pcVar7 + 0xda620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda620)" ( (binary_expression "pcVar7 + 0xda620" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_0006c3c8:\n    uVar29 = *puVar21;" statement_identifier : (expression_statement "uVar29 = *puVar21;" (assignment_expression "uVar29 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;)) (labeled_statement "LAB_0006be24:\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);" statement_identifier : (expression_statement "uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29);" (assignment_expression "uVar29 = (**(code **)(pcVar7 + 0xda58c))(uVar29)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))(uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "(uVar29)" ( identifier )))) ;)) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar29)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda780))(uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda780))" ( (pointer_expression "**(code **)(pcVar7 + 0xda780)" * (pointer_expression "*(code **)(pcVar7 + 0xda780)" * (cast_expression "(code **)(pcVar7 + 0xda780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda780)" ( (binary_expression "pcVar7 + 0xda780" identifier + number_literal) ))))) )) (argument_list "(uVar29)" ( identifier )))) ;) (expression_statement "*piVar33 = iVar5;" (assignment_expression "*piVar33 = iVar5" (pointer_expression "*piVar33" * identifier) = identifier) ;) (if_statement "if (iVar5 != -1) goto LAB_0006bf80;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006bf80;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar39 == 0) goto LAB_0006bf08;" if (parenthesized_expression "(*piVar39 == 0)" ( (binary_expression "*piVar39 == 0" (pointer_expression "*piVar39" * identifier) == number_literal) )) (goto_statement "goto LAB_0006bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0006be5c:\n    iVar5 = *piVar33;" statement_identifier : (expression_statement "iVar5 = *piVar33;" (assignment_expression "iVar5 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;)) }) (else_clause "else {\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }" else (compound_statement "{\n    piVar40 = *(int **)(pcVar7 + 0xd87f4);\n    puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar29 = *puVar21;\n    if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar33 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar33 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar29 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar33 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar39 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar39 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar33;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }\n  }" { (expression_statement "piVar40 = *(int **)(pcVar7 + 0xd87f4);" (assignment_expression "piVar40 = *(int **)(pcVar7 + 0xd87f4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd87f4)" * (cast_expression "(int **)(pcVar7 + 0xd87f4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87f4)" ( (binary_expression "pcVar7 + 0xd87f4" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(undefined4 **)(pcVar7 + 0xda77c);" (assignment_expression "puVar21 = *(undefined4 **)(pcVar7 + 0xda77c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xda77c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xda77c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda77c)" ( (binary_expression "pcVar7 + 0xda77c" identifier + number_literal) ))))) ;) (expression_statement "uVar29 = *puVar21;" (assignment_expression "uVar29 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (if_statement "if (iVar5 == 0 && *piVar40 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar5 == 0 && *piVar40 == 0)" ( (binary_expression "iVar5 == 0 && *piVar40 == 0" (binary_expression "iVar5 == 0" identifier == number_literal) && (binary_expression "*piVar40 == 0" (pointer_expression "*piVar40" * identifier) == number_literal)) )) (compound_statement "{\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar33 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar20 = 0;\n      *puVar38 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar29);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar33 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar19 = *piVar39;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar20 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "puVar38 = *(undefined4 **)(pcVar7 + 0xd9070);" (assignment_expression "puVar38 = *(undefined4 **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xd9070)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd9070)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;) (expression_statement "piVar33 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar33 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "*puVar38 = 0xffffffff;" (assignment_expression "*puVar38 = 0xffffffff" (pointer_expression "*puVar38" * identifier) = number_literal) ;) (expression_statement "iVar5 = (*pcVar8)(uVar29);" (assignment_expression "iVar5 = (*pcVar8)(uVar29)" identifier = (call_expression "(*pcVar8)(uVar29)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar29)" ( identifier )))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (expression_statement "*piVar33 = iVar5;" (assignment_expression "*piVar33 = iVar5" (pointer_expression "*piVar33" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)(iVar5);" (assignment_expression "iVar5 = (*pcVar8)(iVar5)" identifier = (call_expression "(*pcVar8)(iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "iVar19 = *piVar39;" (assignment_expression "iVar19 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "**(int **)(pcVar7 + 0xd9434) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9434) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9434)" * (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "piVar33 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar33 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = **(int **)(pcVar7 + 0xd87e4);" (assignment_expression "iVar5 = **(int **)(pcVar7 + 0xd87e4)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd87e4)" * (pointer_expression "*(int **)(pcVar7 + 0xd87e4)" * (cast_expression "(int **)(pcVar7 + 0xd87e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87e4)" ( (binary_expression "pcVar7 + 0xd87e4" identifier + number_literal) )))))) ;) (expression_statement "*piVar33 = -1;" (assignment_expression "*piVar33 = -1" (pointer_expression "*piVar33" * identifier) = number_literal) ;) (if_statement "if (iVar5 == 0) goto LAB_0006be24;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006be24;" goto statement_identifier ;)) (expression_statement "uVar29 = (**(code **)(pcVar7 + 0xda58c))();" (assignment_expression "uVar29 = (**(code **)(pcVar7 + 0xda58c))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar29)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4b0))(uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4b0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4b0)" * (pointer_expression "*(code **)(pcVar7 + 0xda4b0)" * (cast_expression "(code **)(pcVar7 + 0xda4b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4b0)" ( (binary_expression "pcVar7 + 0xda4b0" identifier + number_literal) ))))) )) (argument_list "(uVar29)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }\n    else {\n      iVar5 = *piVar33;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar33 = iVar5;\n    }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda5dc)" * (cast_expression "(code **)(pcVar7 + 0xda5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5dc)" ( (binary_expression "pcVar7 + 0xda5dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" ( (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x62c0" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "*piVar33 = iVar5;" (assignment_expression "*piVar33 = iVar5" (pointer_expression "*piVar33" * identifier) = identifier) ;) }) (else_clause "else {\n      iVar5 = *piVar33;\n    }" else (compound_statement "{\n      iVar5 = *piVar33;\n    }" { (expression_statement "iVar5 = *piVar33;" (assignment_expression "iVar5 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) }))) (if_statement "if (iVar5 == -1) goto LAB_0006c3c8;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006c3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" statement_identifier : (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a0c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a0c)" * (cast_expression "(code **)(pcVar7 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a0c)" ( (binary_expression "pcVar7 + 0xd8a0c" identifier + number_literal) ))))) )) (argument_list "(iVar5,1,0xffffffff)" ( identifier , number_literal , number_literal )))) ;)) (expression_statement "*piVar33 = iVar5;" (assignment_expression "*piVar33 = iVar5" (pointer_expression "*piVar33" * identifier) = identifier) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar39 != 0) goto LAB_0006be5c;" if (parenthesized_expression "(*piVar39 != 0)" ( (binary_expression "*piVar39 != 0" (pointer_expression "*piVar39" * identifier) != number_literal) )) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf08:\n    iVar5 = (*pcVar8)();" statement_identifier : (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda4fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda4fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar39 = iVar5;" (assignment_expression "*piVar39 = iVar5" (pointer_expression "*piVar39" * identifier) = identifier) ;) (expression_statement "(*pcVar8)(0,iVar5);" (call_expression "(*pcVar8)(0,iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5)" ( number_literal , identifier ))) ;) (expression_statement "iVar5 = *piVar33;" (assignment_expression "iVar5 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) (if_statement "if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);\n      goto LAB_0006be5c;\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39);" (call_expression "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar39)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda73c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda73c)" * (pointer_expression "*(code **)(pcVar7 + 0xda73c)" * (cast_expression "(code **)(pcVar7 + 0xda73c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda73c)" ( (binary_expression "pcVar7 + 0xda73c" identifier + number_literal) ))))) )) (argument_list "(iVar5,*piVar39)" ( identifier , (pointer_expression "*piVar39" * identifier) ))) ;) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;) })) }))) (expression_statement "iVar19 = 0x12;" (assignment_expression "iVar19 = 0x12" identifier = number_literal) ;) (expression_statement "piVar42 = *(int **)(pcVar7 + 0xd9434);" (assignment_expression "piVar42 = *(int **)(pcVar7 + 0xd9434)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) ;) (expression_statement "piVar20 = *(int **)(pcVar7 + 0xd8a98);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xd8a98)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8a98)" * (cast_expression "(int **)(pcVar7 + 0xd8a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a98)" ( (binary_expression "pcVar7 + 0xd8a98" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar42 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar19 = iVar19 + -1;\n    uVar29 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);\n    if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar33;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar42 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar19 = iVar19 + -1;\n    uVar29 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);\n    if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar33;\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda598))(iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda598))" ( (pointer_expression "**(code **)(pcVar7 + 0xda598)" * (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "*piVar42 = iVar5;" (assignment_expression "*piVar42 = iVar5" (pointer_expression "*piVar42" * identifier) = identifier) ;) (if_statement "if (iVar5 == -1) break;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*piVar39 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" if (parenthesized_expression "(*piVar39 == iVar5)" ( (binary_expression "*piVar39 == iVar5" (pointer_expression "*piVar39" * identifier) == identifier) )) (compound_statement "{\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" { (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0006c118;" goto statement_identifier ;) })) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) (if_statement "if (*piVar20 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar20);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xd8a9c))(*piVar20);" (call_expression "(**(code **)(pcVar7 + 0xd8a9c))(*piVar20)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a9c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a9c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a9c)" * (cast_expression "(code **)(pcVar7 + 0xd8a9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a9c)" ( (binary_expression "pcVar7 + 0xd8a9c" identifier + number_literal) ))))) )) (argument_list "(*piVar20)" ( (pointer_expression "*piVar20" * identifier) ))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) })) (expression_statement "iVar19 = iVar19 + -1;" (assignment_expression "iVar19 = iVar19 + -1" identifier = (binary_expression "iVar19 + -1" identifier + number_literal)) ;) (expression_statement "uVar29 = (*pcVar8)(0x1a,0);" (assignment_expression "uVar29 = (*pcVar8)(0x1a,0)" identifier = (call_expression "(*pcVar8)(0x1a,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0x1a,0)" ( number_literal , number_literal )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda61c))(0,0x1a);" (call_expression "(**(code **)(pcVar7 + 0xda61c))(0,0x1a)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda61c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda61c)" * (pointer_expression "*(code **)(pcVar7 + 0xda61c)" * (cast_expression "(code **)(pcVar7 + 0xda61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda61c)" ( (binary_expression "pcVar7 + 0xda61c" identifier + number_literal) ))))) )) (argument_list "(0,0x1a)" ( number_literal , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x1a,uVar29)" ( number_literal , identifier ))) ;) (if_statement "if (iVar19 == 0) {\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(pcVar15);\n      iVar5 = *piVar42;\n      iVar19 = *piVar39;\n      *piVar20 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar20 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e14" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "sys_error(pcVar15);" (call_expression "sys_error(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar42;" (assignment_expression "iVar5 = *piVar42" identifier = (pointer_expression "*piVar42" * identifier)) ;) (expression_statement "iVar19 = *piVar39;" (assignment_expression "iVar19 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (expression_statement "**(int **)(pcVar7 + 0xd9070) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9070) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9070)" * (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "iVar5 = *piVar33;" (assignment_expression "iVar5 = *piVar33" identifier = (pointer_expression "*piVar33" * identifier)) ;) })) (expression_statement "piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar20 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar20;" (assignment_expression "iVar9 = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "iVar5 = *piVar39;" (assignment_expression "iVar5 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (labeled_statement "LAB_0006c118:\n  piVar26 = *(int **)(pcVar7 + 0xd9070);" statement_identifier : (expression_statement "piVar26 = *(int **)(pcVar7 + 0xd9070);" (assignment_expression "piVar26 = *(int **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (expression_statement "*piVar26 = iVar5;" (assignment_expression "*piVar26 = iVar5" (pointer_expression "*piVar26" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar19 = *piVar26;" (assignment_expression "iVar19 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "*piVar39 = iVar5;" (assignment_expression "*piVar39 = iVar5" (pointer_expression "*piVar39" * identifier) = identifier) ;) (if_statement "if (iVar5 == iVar19) {\nLAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar20 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);\n    if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" if (parenthesized_expression "(iVar5 == iVar19)" ( (binary_expression "iVar5 == iVar19" identifier == identifier) )) (compound_statement "{\nLAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar20 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);\n    if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }\n  }" { (labeled_statement "LAB_0006c138:\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);" statement_identifier : (expression_statement "piVar20 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;)) (expression_statement "*piVar20 = 1;" (assignment_expression "*piVar20 = 1" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (labeled_statement "LAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006c148:\n    iVar19 = (*pcVar8)(*piVar33);" statement_identifier : (expression_statement "iVar19 = (*pcVar8)(*piVar33);" (assignment_expression "iVar19 = (*pcVar8)(*piVar33)" identifier = (call_expression "(*pcVar8)(*piVar33)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*piVar33)" ( (pointer_expression "*piVar33" * identifier) )))) ;)) (if_statement "if ((iVar19 == -1) || (*piVar39 != iVar19)) {\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }" if (parenthesized_expression "((iVar19 == -1) || (*piVar39 != iVar19))" ( (binary_expression "(iVar19 == -1) || (*piVar39 != iVar19)" (parenthesized_expression "(iVar19 == -1)" ( (binary_expression "iVar19 == -1" identifier == number_literal) )) || (parenthesized_expression "(*piVar39 != iVar19)" ( (binary_expression "*piVar39 != iVar19" (pointer_expression "*piVar39" * identifier) != identifier) ))) )) (compound_statement "{\n      if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(pcVar15,iVar19);\n      *piVar20 = 0;\n      goto LAB_0006c230;\n    }" { (if_statement "if (iVar9 != -1) {\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar26 = iVar9;\n      }" { (expression_statement "piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar26 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar26 = iVar9;" (assignment_expression "*piVar26 = iVar9" (pointer_expression "*piVar26" * identifier) = identifier) ;) })) (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e6c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "sys_error(pcVar15,iVar19);" (call_expression "sys_error(pcVar15,iVar19)" identifier (argument_list "(pcVar15,iVar19)" ( identifier , identifier ))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (goto_statement "goto LAB_0006c230;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (if_statement "if (*piVar20 != 0) {\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (compound_statement "{\n      iVar5 = *piVar42;\n      goto LAB_0006bff4;\n    }" { (expression_statement "iVar5 = *piVar42;" (assignment_expression "iVar5 = *piVar42" identifier = (pointer_expression "*piVar42" * identifier)) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" else (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }\n    piVar20 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar19 = *piVar39;\n    iVar5 = *piVar26;\n    *piVar20 = 1;\n    if (iVar19 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar42 == iVar19) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar19,0);\n    if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5)" ( number_literal , identifier )))) ;) (if_statement "if (iVar5 < 0) {\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(pcVar15);\n      *piVar39 = *piVar26;\n      goto LAB_0006c138;\n    }" { (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e4c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "sys_error(pcVar15);" (call_expression "sys_error(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "*piVar39 = *piVar26;" (assignment_expression "*piVar39 = *piVar26" (pointer_expression "*piVar39" * identifier) = (pointer_expression "*piVar26" * identifier)) ;) (goto_statement "goto LAB_0006c138;" goto statement_identifier ;) })) (expression_statement "piVar20 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar20 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = *piVar39;" (assignment_expression "iVar19 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (expression_statement "iVar5 = *piVar26;" (assignment_expression "iVar5 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "*piVar20 = 1;" (assignment_expression "*piVar20 = 1" (pointer_expression "*piVar20" * identifier) = number_literal) ;) (if_statement "if (iVar19 == iVar5) goto LAB_0006c144;" if (parenthesized_expression "(iVar19 == iVar5)" ( (binary_expression "iVar19 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006c144;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar42 == iVar19) goto LAB_0006c148;" if (parenthesized_expression "(*piVar42 == iVar19)" ( (binary_expression "*piVar42 == iVar19" (pointer_expression "*piVar42" * identifier) == identifier) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) (expression_statement "iVar5 = give_terminal_to(iVar19,0);" (assignment_expression "iVar5 = give_terminal_to(iVar19,0)" identifier = (call_expression "give_terminal_to(iVar19,0)" identifier (argument_list "(iVar19,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 < 0) {\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar29 = *puVar38;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar39 = *piVar26;\n      *puVar38 = uVar29;\n      pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(pcVar15,*piVar39);\n      *piVar20 = 0;\n    }" { (expression_statement "puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "puVar38 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar29 = *puVar38;" (assignment_expression "uVar29 = *puVar38" identifier = (pointer_expression "*puVar38" * identifier)) ;) (expression_statement "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar26);" (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar26)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,*piVar26)" ( number_literal , (pointer_expression "*piVar26" * identifier) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda6fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda6fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar39 = *piVar26;" (assignment_expression "*piVar39 = *piVar26" (pointer_expression "*piVar39" * identifier) = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "*puVar38 = uVar29;" (assignment_expression "*puVar38 = uVar29" (pointer_expression "*puVar38" * identifier) = identifier) ;) (expression_statement "pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5);" (assignment_expression "pcVar15 = (char *)(*pcVar8)(0,iVar5 + 0x7e6c,5)" identifier = (cast_expression "(char *)(*pcVar8)(0,iVar5 + 0x7e6c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar8)(0,iVar5 + 0x7e6c,5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5 + 0x7e6c,5)" ( number_literal , (binary_expression "iVar5 + 0x7e6c" identifier + number_literal) , number_literal ))))) ;) (expression_statement "sys_error(pcVar15,*piVar39);" (call_expression "sys_error(pcVar15,*piVar39)" identifier (argument_list "(pcVar15,*piVar39)" ( identifier , (pointer_expression "*piVar39" * identifier) ))) ;) (expression_statement "*piVar20 = 0;" (assignment_expression "*piVar20 = 0" (pointer_expression "*piVar20" * identifier) = number_literal) ;) }) (else_clause "else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }" else (compound_statement "{\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar20 != 0) goto LAB_0006c148;\n    }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar20 != 0) goto LAB_0006c148;" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;)) }))) (expression_statement "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);" (assignment_expression "pcVar15 = (char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5 + 0x7e94,5)" ( number_literal , (binary_expression "iVar5 + 0x7e94" identifier + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar15);" (call_expression "internal_error(pcVar15)" identifier (argument_list "(pcVar15)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar42;" (assignment_expression "iVar5 = *piVar42" identifier = (pointer_expression "*piVar42" * identifier)) ;) (expression_statement "iVar19 = *piVar39;" (assignment_expression "iVar19 = *piVar39" identifier = (pointer_expression "*piVar39" * identifier)) ;) (labeled_statement "LAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;)) (expression_statement "uVar29 = *puVar21;" (assignment_expression "uVar29 = *puVar21" identifier = (pointer_expression "*puVar21" * identifier)) ;) (expression_statement "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5);" (assignment_expression "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar19 != iVar5)" (pointer_expression "**(uint **)(pcVar7 + 0xd8954)" * (pointer_expression "*(uint **)(pcVar7 + 0xd8954)" * (cast_expression "(uint **)(pcVar7 + 0xd8954)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8954)" ( (binary_expression "pcVar7 + 0xd8954" identifier + number_literal) ))))) = (call_expression "(uint)(iVar19 != iVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar19 != iVar5)" ( (binary_expression "iVar19 != iVar5" identifier != identifier) )))) ;) (expression_statement "iVar5 = (*pcVar8)(uVar29);" (assignment_expression "iVar5 = (*pcVar8)(uVar29)" identifier = (call_expression "(*pcVar8)(uVar29)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar29)" ( identifier )))) ;) (if_statement "if (iVar5 != *piVar33) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);\n  }" if (parenthesized_expression "(iVar5 != *piVar33)" ( (binary_expression "iVar5 != *piVar33" identifier != (pointer_expression "*piVar33" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);\n  }" { (expression_statement "(**(code **)(pcVar7 + 0xda540))(*piVar33,2,1);" (call_expression "(**(code **)(pcVar7 + 0xda540))(*piVar33,2,1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda540))" ( (pointer_expression "**(code **)(pcVar7 + 0xda540)" * (pointer_expression "*(code **)(pcVar7 + 0xda540)" * (cast_expression "(code **)(pcVar7 + 0xda540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda540)" ( (binary_expression "pcVar7 + 0xda540" identifier + number_literal) ))))) )) (argument_list "(*piVar33,2,1)" ( (pointer_expression "*piVar33" * identifier) , number_literal , number_literal ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd942c) + -0x6fbc" (pointer_expression "*(int *)(pcVar7 + 0xd942c)" * (cast_expression "(int *)(pcVar7 + 0xd942c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd942c)" ( (binary_expression "pcVar7 + 0xd942c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar5 = 0x2b;" (assignment_expression "iVar5 = 0x2b" identifier = number_literal) ;) (if_statement "if (*piVar20 != 0) {\n    iVar5 = 0x2d;\n  }" if (parenthesized_expression "(*piVar20 != 0)" ( (binary_expression "*piVar20 != 0" (pointer_expression "*piVar20" * identifier) != number_literal) )) (compound_statement "{\n    iVar5 = 0x2d;\n  }" { (expression_statement "iVar5 = 0x2d;" (assignment_expression "iVar5 = 0x2d" identifier = number_literal) ;) })) (expression_statement "change_flag(0x6d,iVar5);" (call_expression "change_flag(0x6d,iVar5)" identifier (argument_list "(0x6d,iVar5)" ( number_literal , identifier ))) ;) (if_statement "if (*piVar40 != 0) {\n    get_tty_state();\n  }" if (parenthesized_expression "(*piVar40 != 0)" ( (binary_expression "*piVar40 != 0" (pointer_expression "*piVar40" * identifier) != number_literal) )) (compound_statement "{\n    get_tty_state();\n  }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar39 = *(int **)(pcVar7 + 0xd90bc);" (assignment_expression "piVar39 = *(int **)(pcVar7 + 0xd90bc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd90bc)" * (cast_expression "(int **)(pcVar7 + 0xd90bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd90bc)" ( (binary_expression "pcVar7 + 0xd90bc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *piVar39) {\n    return *piVar20;\n  }" if (parenthesized_expression "(-1 < *piVar39)" ( (binary_expression "-1 < *piVar39" number_literal < (pointer_expression "*piVar39" * identifier)) )) (compound_statement "{\n    return *piVar20;\n  }" { (return_statement "return *piVar20;" return (pointer_expression "*piVar20" * identifier) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd93d8))();" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd93d8))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xd93d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xd93d8))" ( (pointer_expression "**(code **)(pcVar7 + 0xd93d8)" * (pointer_expression "*(code **)(pcVar7 + 0xd93d8)" * (cast_expression "(code **)(pcVar7 + 0xd93d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93d8)" ( (binary_expression "pcVar7 + 0xd93d8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar5 = 0x20;\n  }" { (expression_statement "iVar5 = 0x20;" (assignment_expression "iVar5 = 0x20" identifier = number_literal) ;) })) (expression_statement "*piVar39 = iVar5;" (assignment_expression "*piVar39 = iVar5" (pointer_expression "*piVar39" * identifier) = identifier) ;) (return_statement "return *piVar20;" return (pointer_expression "*piVar20" * identifier) ;) })))
(translation_unit "undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}\n\n" (function_definition "undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" type_identifier (pointer_declarator "* wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" * (function_declarator "wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" identifier (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" ( (parameter_declaration "undefined *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "int *param_4" primitive_type (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "code *pcVar7;" type_identifier (pointer_declarator "*pcVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "char cVar15;" primitive_type identifier ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "undefined4 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined4 uVar25;" type_identifier identifier ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "int iVar27;" primitive_type identifier ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int *piVar29;" primitive_type (pointer_declarator "*piVar29" * identifier) ;) (declaration "undefined4 uVar30;" type_identifier identifier ;) (declaration "undefined1 *puVar31;" type_identifier (pointer_declarator "*puVar31" * identifier) ;) (declaration "undefined4 *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "int *piVar36;" primitive_type (pointer_declarator "*piVar36" * identifier) ;) (declaration "undefined4 *puVar37;" type_identifier (pointer_declarator "*puVar37" * identifier) ;) (declaration "undefined *puVar38;" type_identifier (pointer_declarator "*puVar38" * identifier) ;) (declaration "undefined *puVar39;" type_identifier (pointer_declarator "*puVar39" * identifier) ;) (declaration "undefined *puVar40;" type_identifier (pointer_declarator "*puVar40" * identifier) ;) (declaration "int iVar41;" primitive_type identifier ;) (declaration "undefined4 *puVar42;" type_identifier (pointer_declarator "*puVar42" * identifier) ;) (declaration "int *unaff_s6;" primitive_type (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "int *piVar43;" primitive_type (pointer_declarator "*piVar43" * identifier) ;) (declaration "int *piVar44;" primitive_type (pointer_declarator "*piVar44" * identifier) ;) (declaration "int unaff_s8;" primitive_type identifier ;) (declaration "int *piVar45;" primitive_type (pointer_declarator "*piVar45" * identifier) ;) (declaration "undefined4 uStack_7f4;" type_identifier identifier ;) (declaration "undefined1 auStack_7ec [128];" type_identifier (array_declarator "auStack_7ec [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_76c [128];" type_identifier (array_declarator "auStack_76c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_6ec;" primitive_type identifier ;) (declaration "undefined1 *puStack_6e8;" type_identifier (pointer_declarator "*puStack_6e8" * identifier) ;) (declaration "undefined1 *puStack_6e4;" type_identifier (pointer_declarator "*puStack_6e4" * identifier) ;) (declaration "undefined1 *puStack_6e0;" type_identifier (pointer_declarator "*puStack_6e0" * identifier) ;) (declaration "int *piStack_6dc;" primitive_type (pointer_declarator "*piStack_6dc" * identifier) ;) (declaration "int *piStack_6d8;" primitive_type (pointer_declarator "*piStack_6d8" * identifier) ;) (declaration "undefined4 *puStack_6d4;" type_identifier (pointer_declarator "*puStack_6d4" * identifier) ;) (declaration "int *piStack_6d0;" primitive_type (pointer_declarator "*piStack_6d0" * identifier) ;) (declaration "int iStack_6cc;" primitive_type identifier ;) (declaration "int *piStack_6c8;" primitive_type (pointer_declarator "*piStack_6c8" * identifier) ;) (declaration "code *pcStack_6c4;" type_identifier (pointer_declarator "*pcStack_6c4" * identifier) ;) (declaration "code *pcStack_6b0;" type_identifier (pointer_declarator "*pcStack_6b0" * identifier) ;) (declaration "code *pcStack_6a4;" type_identifier (pointer_declarator "*pcStack_6a4" * identifier) ;) (declaration "undefined1 auStack_69c [128];" type_identifier (array_declarator "auStack_69c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_61c [128];" type_identifier (array_declarator "auStack_61c [128]" identifier [ number_literal ]) ;) (declaration "int *piStack_59c;" primitive_type (pointer_declarator "*piStack_59c" * identifier) ;) (declaration "undefined1 *puStack_598;" type_identifier (pointer_declarator "*puStack_598" * identifier) ;) (declaration "undefined1 *puStack_594;" type_identifier (pointer_declarator "*puStack_594" * identifier) ;) (declaration "undefined1 *puStack_590;" type_identifier (pointer_declarator "*puStack_590" * identifier) ;) (declaration "undefined4 uStack_58c;" type_identifier identifier ;) (declaration "int *piStack_588;" primitive_type (pointer_declarator "*piStack_588" * identifier) ;) (declaration "int iStack_584;" primitive_type identifier ;) (declaration "int *piStack_580;" primitive_type (pointer_declarator "*piStack_580" * identifier) ;) (declaration "int *piStack_57c;" primitive_type (pointer_declarator "*piStack_57c" * identifier) ;) (declaration "int *piStack_578;" primitive_type (pointer_declarator "*piStack_578" * identifier) ;) (declaration "code *pcStack_574;" type_identifier (pointer_declarator "*pcStack_574" * identifier) ;) (declaration "code *pcStack_560;" type_identifier (pointer_declarator "*pcStack_560" * identifier) ;) (declaration "code *pcStack_554;" type_identifier (pointer_declarator "*pcStack_554" * identifier) ;) (declaration "int iStack_550;" primitive_type identifier ;) (declaration "int iStack_54c;" primitive_type identifier ;) (declaration "int *piStack_548;" primitive_type (pointer_declarator "*piStack_548" * identifier) ;) (declaration "code *pcStack_544;" type_identifier (pointer_declarator "*pcStack_544" * identifier) ;) (declaration "undefined1 auStack_53c [128];" type_identifier (array_declarator "auStack_53c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_4bc [128];" type_identifier (array_declarator "auStack_4bc [128]" identifier [ number_literal ]) ;) (declaration "int iStack_43c;" primitive_type identifier ;) (declaration "int *piStack_438;" primitive_type (pointer_declarator "*piStack_438" * identifier) ;) (declaration "int iStack_434;" primitive_type identifier ;) (declaration "undefined1 *puStack_430;" type_identifier (pointer_declarator "*puStack_430" * identifier) ;) (declaration "int iStack_42c;" primitive_type identifier ;) (declaration "undefined1 *puStack_428;" type_identifier (pointer_declarator "*puStack_428" * identifier) ;) (declaration "int iStack_424;" primitive_type identifier ;) (declaration "int *piStack_420;" primitive_type (pointer_declarator "*piStack_420" * identifier) ;) (declaration "int *piStack_41c;" primitive_type (pointer_declarator "*piStack_41c" * identifier) ;) (declaration "int *piStack_418;" primitive_type (pointer_declarator "*piStack_418" * identifier) ;) (declaration "code *pcStack_414;" type_identifier (pointer_declarator "*pcStack_414" * identifier) ;) (declaration "code *pcStack_400;" type_identifier (pointer_declarator "*pcStack_400" * identifier) ;) (declaration "code *pcStack_3f4;" type_identifier (pointer_declarator "*pcStack_3f4" * identifier) ;) (declaration "int *piStack_3f0;" primitive_type (pointer_declarator "*piStack_3f0" * identifier) ;) (declaration "code *pcStack_3ec;" type_identifier (pointer_declarator "*pcStack_3ec" * identifier) ;) (declaration "undefined1 auStack_3e4 [128];" type_identifier (array_declarator "auStack_3e4 [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_364 [128];" type_identifier (array_declarator "auStack_364 [128]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_2e4;" type_identifier (pointer_declarator "*puStack_2e4" * identifier) ;) (declaration "undefined1 *puStack_2e0;" type_identifier (pointer_declarator "*puStack_2e0" * identifier) ;) (declaration "undefined1 *puStack_2dc;" type_identifier (pointer_declarator "*puStack_2dc" * identifier) ;) (declaration "uint uStack_2d8;" type_identifier identifier ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "undefined *puStack_2d0;" type_identifier (pointer_declarator "*puStack_2d0" * identifier) ;) (declaration "undefined1 *puStack_2cc;" type_identifier (pointer_declarator "*puStack_2cc" * identifier) ;) (declaration "int *piStack_2c8;" primitive_type (pointer_declarator "*piStack_2c8" * identifier) ;) (declaration "int *piStack_2c4;" primitive_type (pointer_declarator "*piStack_2c4" * identifier) ;) (declaration "int *piStack_2c0;" primitive_type (pointer_declarator "*piStack_2c0" * identifier) ;) (declaration "code *pcStack_2bc;" type_identifier (pointer_declarator "*pcStack_2bc" * identifier) ;) (declaration "undefined *puStack_2a8;" type_identifier (pointer_declarator "*puStack_2a8" * identifier) ;) (declaration "undefined1 auStack_29c [128];" type_identifier (array_declarator "auStack_29c [128]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_21c [128];" type_identifier (array_declarator "auStack_21c [128]" identifier [ number_literal ]) ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "undefined *puStack_198;" type_identifier (pointer_declarator "*puStack_198" * identifier) ;) (declaration "undefined *puStack_194;" type_identifier (pointer_declarator "*puStack_194" * identifier) ;) (declaration "undefined *puStack_190;" type_identifier (pointer_declarator "*puStack_190" * identifier) ;) (declaration "int *piStack_18c;" primitive_type (pointer_declarator "*piStack_18c" * identifier) ;) (declaration "undefined *puStack_188;" type_identifier (pointer_declarator "*puStack_188" * identifier) ;) (declaration "undefined *puStack_184;" type_identifier (pointer_declarator "*puStack_184" * identifier) ;) (declaration "int *piStack_180;" primitive_type (pointer_declarator "*piStack_180" * identifier) ;) (declaration "undefined *puStack_17c;" type_identifier (pointer_declarator "*puStack_17c" * identifier) ;) (declaration "int iStack_178;" primitive_type identifier ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "undefined1 *local_144;" type_identifier (pointer_declarator "*local_144" * identifier) ;) (declaration "undefined auStack_12c [128];" type_identifier (array_declarator "auStack_12c [128]" identifier [ number_literal ]) ;) (declaration "undefined auStack_ac [128];" type_identifier (array_declarator "auStack_ac [128]" identifier [ number_literal ]) ;) (declaration "uint local_2c;" type_identifier identifier ;) (expression_statement "puVar4 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar2 = PTR___environ_00145154;" (assignment_expression "puVar2 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "piVar43 = (int *)PTR_job_control_001448a8;" (assignment_expression "piVar43 = (int *)PTR_job_control_001448a8" identifier = (cast_expression "(int *)PTR_job_control_001448a8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar40 = auStack_ac;" (assignment_expression "puVar40 = auStack_ac" identifier = identifier) ;) (expression_statement "puVar33 = auStack_12c;" (assignment_expression "puVar33 = auStack_12c" identifier = identifier) ;) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_001464dc" * (cast_expression "(uint *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar33);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar33)" (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 "(puVar33)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigaddset_00146364)(puVar33,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(puVar33,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 "(puVar33,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar40);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar40)" (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 "(puVar40)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40)" (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,puVar33,puVar40)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x70d8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d8)" * (cast_expression "(undefined4 *)(puVar2 + -0x70d8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d8)" ( (binary_expression "puVar2 + -0x70d8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar2 + -0x70d4) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d4) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d4)" * (cast_expression "(undefined4 *)(puVar2 + -0x70d4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" if (parenthesized_expression "((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0))" ( (binary_expression "(iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 4) != 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 4)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 4" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }" { (expression_statement "puVar33 = PTR_LAB_00144ff0 + 0x4a64;" (assignment_expression "puVar33 = PTR_LAB_00144ff0 + 0x4a64" identifier = (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal)) ;) (expression_statement "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);" (assignment_expression "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" identifier = (cast_expression "(undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,PTR_LAB_00144ff0 + 0x4a64)" ( number_literal , (binary_expression "PTR_LAB_00144ff0 + 0x4a64" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = (int *)PTR___environ_00145154;" (assignment_expression "unaff_s6 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" if (parenthesized_expression "(puVar6 == puVar33)" ( (binary_expression "puVar6 == puVar33" identifier == identifier) )) (compound_statement "{\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }" { (expression_statement "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);" (assignment_expression "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460)" identifier = (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" else (compound_statement "{\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" { (expression_statement "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;" (assignment_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc)" * (cast_expression "(undefined4 *)((int)unaff_s6 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + -0x70dc)" ( (binary_expression "(int)unaff_s6 + -0x70dc" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" if (parenthesized_expression "(puVar6 == (undefined *)0x1)" ( (binary_expression "puVar6 == (undefined *)0x1" identifier == (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) })) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" * (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) ))) )) (compound_statement "{\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" { (if_statement "if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" if (parenthesized_expression "(*(int *)PTR_terminating_signal_00144834 != 0)" ( (binary_expression "*(int *)PTR_terminating_signal_00144834 != 0" (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_terminating_signal_00144834)" ( (pointer_expression "*(undefined4 *)PTR_terminating_signal_00144834" * (cast_expression "(undefined4 *)PTR_terminating_signal_00144834" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) })) (expression_statement "iVar5 = *piVar21;" (assignment_expression "iVar5 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) }) (else_clause "else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" else (compound_statement "{\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" { (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" identifier = (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" * (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar5 = *(int *)PTR_terminating_signal_00144834;" (assignment_expression "iVar5 = *(int *)PTR_terminating_signal_00144834" identifier = (pointer_expression "*(int *)PTR_terminating_signal_00144834" * (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" identifier = (cast_expression "(int *)PTR_terminating_signal_00144834" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (if_statement "if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (expression_statement "puVar3 = PTR_wait_intr_flag_00145168;" (assignment_expression "puVar3 = PTR_wait_intr_flag_00145168" identifier = identifier) ;) (expression_statement "puVar38 = PTR___environ_00145154;" (assignment_expression "puVar38 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "puVar1 = PTR_wait_builtin_00145150;" (assignment_expression "puVar1 = PTR_wait_builtin_00145150" identifier = identifier) ;) (expression_statement "puVar6 = PTR_this_shell_builtin_00144a84;" (assignment_expression "puVar6 = PTR_this_shell_builtin_00144a84" identifier = identifier) ;) (if_statement "if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" if (parenthesized_expression "((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150))" ( (binary_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" (parenthesized_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0))" ( (binary_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" (parenthesized_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0))" ( (binary_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)" (parenthesized_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0)" ( (binary_expression "*(int *)PTR_wait_intr_flag_00145168 == 0" (pointer_expression "*(int *)PTR_wait_intr_flag_00145168" * (cast_expression "(int *)PTR_wait_intr_flag_00145168" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 == 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 == 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) || (parenthesized_expression "(*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" ( (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" ( (comma_expression "puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar35 = puVar40" identifier = identifier) , (comma_expression "puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar39 = puVar2" identifier = identifier) , (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" * (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier))) ))) )) (compound_statement "{\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }" { (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" identifier = number_literal) ;) (expression_statement "puVar35 = (undefined *)0xffffffff;" (assignment_expression "puVar35 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x7f78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x7f78)" ( (binary_expression "PTR_LAB_00144ff0 + 0x7f78" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c)" identifier = (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x403c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00144ff0 + 0x403c)" ( (binary_expression "PTR_LAB_00144ff0 + 0x403c" identifier + number_literal) )))) ;) (do_statement "do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);" do (compound_statement "{\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    }" { (do_statement "do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);" do (compound_statement "{\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      }" { (expression_statement "puVar33 = (undefined *)0xffffffff;" (assignment_expression "puVar33 = (undefined *)0xffffffff" identifier = (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;) (expression_statement "puVar39 = puVar38;" (assignment_expression "puVar39 = puVar38" identifier = identifier) ;) (if_statement "if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) (expression_statement "unaff_s8 = (*pcVar8)(param_1,0,0);" (assignment_expression "unaff_s8 = (*pcVar8)(param_1,0,0)" identifier = (call_expression "(*pcVar8)(param_1,0,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(param_1,0,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "puVar10 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "puVar34 = PTR_data_start_00144568;" (assignment_expression "puVar34 = PTR_data_start_00144568" identifier = identifier) ;) (if_statement "if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);" (assignment_expression "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x7cdc,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x7cdc" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,param_1);" (call_expression "internal_error(uVar30,param_1)" identifier (argument_list "(uVar30,param_1)" ( identifier , identifier ))) ;) (expression_statement "puVar40 = *(undefined **)(puVar34 + 0x460);" (assignment_expression "puVar40 = *(undefined **)(puVar34 + 0x460)" identifier = (pointer_expression "*(undefined **)(puVar34 + 0x460)" * (cast_expression "(undefined **)(puVar34 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x460)" ( (binary_expression "puVar34 + 0x460" identifier + number_literal) ))))) ;) (if_statement "if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(puVar40 == puVar10)" ( (binary_expression "puVar40 == puVar10" identifier == identifier) )) (compound_statement "{\n            local_144 = (undefined1 *)0x7f;\n          }" { (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" else (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined **)(puVar34 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar34 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar34 + 0x460)" * (cast_expression "(undefined **)(puVar34 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar34 + 0x460)" ( (binary_expression "puVar34 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a040;" goto statement_identifier ;) })) (expression_statement "iVar20 = *(int *)(unaff_s8 + 0xc);" (assignment_expression "iVar20 = *(int *)(unaff_s8 + 0xc)" identifier = (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" if (parenthesized_expression "(puVar35 == puVar33)" ( (binary_expression "puVar35 == puVar33" identifier == identifier) )) (compound_statement "{\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }" { (if_statement "if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" if (parenthesized_expression "(0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18))" ( (binary_expression "0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)" number_literal < (cast_expression "(int)*(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" { (expression_statement "puVar33 = (undefined *)0x0;" (assignment_expression "puVar33 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(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))) ;) (do_statement "do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);" do (compound_statement "{\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            }" { (expression_statement "iVar9 = *param_4;" (assignment_expression "iVar9 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" { (expression_statement "piVar45 = *(int **)(iVar9 + 4);" (assignment_expression "piVar45 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);" do (compound_statement "{\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                }" { (if_statement "if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" if (parenthesized_expression "(param_1 == (undefined *)piVar45[1])" ( (binary_expression "param_1 == (undefined *)piVar45[1]" identifier == (cast_expression "(undefined *)piVar45[1]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar45[1]" identifier [ number_literal ]))) )) (compound_statement "{\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" { (if_statement "if (iVar20 == 1) goto LAB_0006a0c0;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c0;" goto statement_identifier ;)) (goto_statement "goto LAB_00069c50;" goto statement_identifier ;) })) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar9 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar9 + 4) != piVar45" (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" identifier = (binary_expression "puVar33 + 1" identifier + number_literal)) ;) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" identifier = (binary_expression "param_4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33)" ( (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x18)" ( (binary_expression "PTR_js_00144e58 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;) (if_statement "if (iVar20 == 1) goto LAB_0006a0c8;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006a0c8;" goto statement_identifier ;)) }) (else_clause "else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" else (compound_statement "{\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" { (expression_statement "puVar33 = puVar35;" (assignment_expression "puVar33 = puVar35" identifier = identifier) ;) (if_statement "if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }" { (labeled_statement "LAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" identifier = identifier) ;) }) (else_clause "else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" else (compound_statement "{\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" { (expression_statement "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (labeled_statement "LAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" identifier = (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) ))))) ;)) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" identifier = identifier) ;) (if_statement "if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;" if (parenthesized_expression "(*(int *)(iVar9 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar9 + 0xc) != 1" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_00069c60;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;" statement_identifier : (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 1;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 1" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" * (cast_expression "(undefined4 *)(puVar38 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x7040)" ( (binary_expression "puVar38 + -0x7040" identifier + number_literal) )))) = number_literal) ;)) (expression_statement "*(int *)(puVar38 + -0x70dc) = iVar5 + 1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = iVar5 + 1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) (expression_statement "iVar5 = (*pcVar7)(1);" (assignment_expression "iVar5 = (*pcVar7)(1)" identifier = (call_expression "(*pcVar7)(1)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" * (cast_expression "(undefined4 *)(puVar38 + -0x7040)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x7040)" ( (binary_expression "puVar38 + -0x7040" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" * (cast_expression "(int *)(puVar38 + -0x70dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s6 = (int *)puVar38;" (assignment_expression "unaff_s6 = (int *)puVar38" identifier = (cast_expression "(int *)puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" if (parenthesized_expression "((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10))" ( (binary_expression "(iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) && (parenthesized_expression "(piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" ( (comma_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_0014633c)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_0014633c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0014633c)" ( (pointer_expression "*(code *)PTR___errno_location_0014633c" * (cast_expression "(code *)PTR___errno_location_0014633c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (comma_expression "puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" identifier = identifier) , (comma_expression "puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar33 = PTR_js_00144e58" identifier = identifier) , (comma_expression "puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) , (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" * identifier) == number_literal))))) ))) )) (compound_statement "{\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" { (if_statement "if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" if (parenthesized_expression "(*(undefined **)puVar6 == puVar1)" ( (binary_expression "*(undefined **)puVar6 == puVar1" (pointer_expression "*(undefined **)puVar6" * (cast_expression "(undefined **)puVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) == identifier) )) (compound_statement "{\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" { (expression_statement "puVar34 = puVar38;" (assignment_expression "puVar34 = puVar38" identifier = identifier) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n                local_144 = (undefined1 *)0xffffffff;\n              }" { (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" else (compound_statement "{\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar38 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x70dc)" * (cast_expression "(undefined4 *)(puVar38 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar38 + -0x70dc)" ( (binary_expression "puVar38 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) }))) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) (if_statement "if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" { (expression_statement "*(undefined4 *)(unaff_s8 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 0xc)" * (cast_expression "(undefined4 *)(unaff_s8 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s8 + 8) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 8) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 8)" * (cast_expression "(undefined4 *)(unaff_s8 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "*(undefined4 *)(puVar33 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar33 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar33 + 4)" * (cast_expression "(undefined4 *)(puVar33 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 4)" ( (binary_expression "puVar33 + 4" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" if (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" ( (binary_expression "puVar35 != (undefined *)0xffffffff" identifier != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" { (expression_statement "iVar5 = *(int *)(puVar33 + 0x28);" (assignment_expression "iVar5 = *(int *)(puVar33 + 0x28)" identifier = (pointer_expression "*(int *)(puVar33 + 0x28)" * (cast_expression "(int *)(puVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x28)" ( (binary_expression "puVar33 + 0x28" identifier + number_literal) ))))) ;) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(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 "iVar20 = param_4[(int)puVar35];" (assignment_expression "iVar20 = param_4[(int)puVar35]" identifier = (subscript_expression "param_4[(int)puVar35]" identifier [ (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) ])) ;) (expression_statement "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;" (assignment_expression "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" * (cast_expression "(int *)(puVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 8)" ( (binary_expression "puVar33 + 8" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" * (cast_expression "(int *)(puVar33 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 8)" ( (binary_expression "puVar33 + 8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar20 + 0xc) = 4;" (assignment_expression "*(undefined4 *)(iVar20 + 0xc) = 4" (pointer_expression "*(undefined4 *)(iVar20 + 0xc)" * (cast_expression "(undefined4 *)(iVar20 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar33 + 0x28) = iVar5 + 1;" (assignment_expression "*(int *)(puVar33 + 0x28) = iVar5 + 1" (pointer_expression "*(int *)(puVar33 + 0x28)" * (cast_expression "(int *)(puVar33 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x28)" ( (binary_expression "puVar33 + 0x28" identifier + number_literal) )))) = (binary_expression "iVar5 + 1" identifier + number_literal)) ;) })) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" { (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "piVar45 = (int *)puVar38;" (assignment_expression "piVar45 = (int *)puVar38" identifier = (cast_expression "(int *)puVar38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (goto_statement "goto LAB_00069d48;" goto statement_identifier ;)) (goto_statement "goto LAB_00069d30;" goto statement_identifier ;) })) })) }))) (labeled_statement "LAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" statement_identifier : (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" if (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" ( (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" ( (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" * (cast_expression "(int *)PTR_interactive_00144590" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) ))) )) (compound_statement "{\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" { (if_statement "if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" if (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" ( (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" { (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" ( (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" * (cast_expression "(code *)PTR_throw_to_top_level_00144840" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }))) (if_statement "if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" { (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" ( (pointer_expression "*(code *)PTR_termsig_handler_00144838" * (cast_expression "(code *)PTR_termsig_handler_00144838" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) })) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (if_statement "if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;" if (parenthesized_expression "((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1))" ( (binary_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)" (parenthesized_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0))" ( (binary_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" (parenthesized_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0))" ( (binary_expression "(*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)" (parenthesized_expression "(*(int *)puVar3 != 0)" ( (binary_expression "*(int *)puVar3 != 0" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 != 0)" ( (binary_expression "*(int *)PTR_wait_signal_received_00145164 != 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" * (cast_expression "(int *)PTR_wait_signal_received_00145164" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) && (parenthesized_expression "(puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" ( (comma_expression "puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0" (assignment_expression "puVar10 = *(undefined **)puVar6" identifier = (pointer_expression "*(undefined **)puVar6" * (cast_expression "(undefined **)puVar6" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) , (binary_expression "puVar10 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) && (parenthesized_expression "(puVar33 = puVar38, puVar10 == puVar1)" ( (comma_expression "puVar33 = puVar38, puVar10 == puVar1" (assignment_expression "puVar33 = puVar38" identifier = identifier) , (binary_expression "puVar10 == puVar1" identifier == identifier)) ))) )) (goto_statement "goto LAB_0006a708;" goto statement_identifier ;)) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" if (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" ( (binary_expression "param_1 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" { (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a02c;" goto statement_identifier ;) })) }) while (parenthesized_expression "(*(int *)(unaff_s8 + 0xc) == 1)" ( (binary_expression "*(int *)(unaff_s8 + 0xc) == 1" (pointer_expression "*(int *)(unaff_s8 + 0xc)" * (cast_expression "(int *)(unaff_s8 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 0xc)" ( (binary_expression "unaff_s8 + 0xc" identifier + number_literal) )))) == number_literal) )) ;) (if_statement "if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" if (parenthesized_expression "(puVar35 == (undefined *)0xffffffff)" ( (binary_expression "puVar35 == (undefined *)0xffffffff" identifier == (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" { (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) != identifier) )) (compound_statement "{\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) })) (goto_statement "goto LAB_0006a2e0;" goto statement_identifier ;) })) (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" identifier = (cast_expression "(int *)((int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar35 * 4)" ( (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) ;) (expression_statement "piVar45 = (int *)PTR___environ_00145154;" (assignment_expression "piVar45 = (int *)PTR___environ_00145154" identifier = (cast_expression "(int *)PTR___environ_00145154" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" if (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158)" ( (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" * (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" ( (binary_expression "PTR_data_start_00144568 + 0x460" identifier + number_literal) )))) == identifier) )) (compound_statement "{\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" { (labeled_statement "LAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;" statement_identifier : (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" identifier = (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "local_144 = (undefined1 *)job_exit_status(puVar35);" (assignment_expression "local_144 = (undefined1 *)job_exit_status(puVar35)" identifier = (cast_expression "(undefined1 *)job_exit_status(puVar35)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "job_exit_status(puVar35)" identifier (argument_list "(puVar35)" ( identifier ))))) ;) (expression_statement "uVar11 = FUN_000641bc(puVar35);" (assignment_expression "uVar11 = FUN_000641bc(puVar35)" identifier = (call_expression "FUN_000641bc(puVar35)" identifier (argument_list "(puVar35)" ( identifier )))) ;) (expression_statement "uVar11 = uVar11 & 0x7f;" (assignment_expression "uVar11 = uVar11 & 0x7f" identifier = (binary_expression "uVar11 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        uVar11 = 0;\n      }" { (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) })) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar33 = PTR_subshell_environment_00144674;" (assignment_expression "puVar33 = PTR_subshell_environment_00144674" identifier = identifier) ;) (if_statement "if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(iVar20 == 2)" ( (binary_expression "iVar20 == 2" identifier == number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" statement_identifier : (expression_statement "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" identifier = (cast_expression "(undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uVar11 << 0x10) >> 0x18) + 0x80)" ( (binary_expression "((uVar11 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar11 << 0x10) >> 0x18)" ( (binary_expression "(uVar11 << 0x10) >> 0x18" (parenthesized_expression "(uVar11 << 0x10)" ( (binary_expression "uVar11 << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal) )))) ;)) (labeled_statement "LAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) }) (else_clause "else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" else (if_statement "if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" if (parenthesized_expression "(unaff_s8 != 0)" ( (binary_expression "unaff_s8 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" { (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;) (if_statement "if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;" if (parenthesized_expression "((uVar11 & 0xff) == 0x7f)" ( (binary_expression "(uVar11 & 0xff) == 0x7f" (parenthesized_expression "(uVar11 & 0xff)" ( (binary_expression "uVar11 & 0xff" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0006a460;" goto statement_identifier ;)) (goto_statement "goto LAB_00069ddc;" goto statement_identifier ;) })))) (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" if (parenthesized_expression "(((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))" ( (binary_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0)" (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(*(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" { (if_statement "if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" if (parenthesized_expression "((uVar11 & 0x11) == 0)" ( (binary_expression "(uVar11 & 0x11) == 0" (parenthesized_expression "(uVar11 & 0x11)" ( (binary_expression "uVar11 & 0x11" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) (expression_statement "uVar11 = *(uint *)puVar33;" (assignment_expression "uVar11 = *(uint *)puVar33" identifier = (pointer_expression "*(uint *)puVar33" * (cast_expression "(uint *)puVar33" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" else (compound_statement "{\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" { (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" identifier = (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) })) (expression_statement "piVar21 = (int *)PTR_interactive_shell_00144598;" (assignment_expression "piVar21 = (int *)PTR_interactive_shell_00144598" identifier = (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" if (parenthesized_expression "(*(int *)PTR_interactive_shell_00144598 != 0)" ( (binary_expression "*(int *)PTR_interactive_shell_00144598 != 0" (pointer_expression "*(int *)PTR_interactive_shell_00144598" * (cast_expression "(int *)PTR_interactive_shell_00144598" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" { (if_statement "if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "(uVar11 == 0)" ( (binary_expression "uVar11 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }" { (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);" do (compound_statement "{\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          }" { (expression_statement "puVar34 = (undefined *)(piVar45[2] & 0x7f);" (assignment_expression "puVar34 = (undefined *)(piVar45[2] & 0x7f)" identifier = (cast_expression "(undefined *)(piVar45[2] & 0x7f)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar45[2] & 0x7f)" ( (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )))) ;) (expression_statement "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);" (assignment_expression "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" identifier = (cast_expression "(undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)((char)puVar34 + '\x01') >> 1)" ( (binary_expression "(int)(char)((char)puVar34 + '\x01') >> 1" (cast_expression "(int)(char)((char)puVar34 + '\x01')" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)((char)puVar34 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)puVar34 + '\x01')" ( (binary_expression "(char)puVar34 + '\x01'" (cast_expression "(char)puVar34" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) )))) >> number_literal) )))) ;) (if_statement "if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" if (parenthesized_expression "((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f))" ( (binary_expression "(0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "(0 < (int)puVar28)" ( (binary_expression "0 < (int)puVar28" number_literal < (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" ( (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" { (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 == 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 == 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;)) (if_statement "if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;" if (parenthesized_expression "((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35)" ( (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x2c)" * (cast_expression "(undefined **)(PTR_js_00144e58 + 0x2c)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_js_00144e58 + 0x2c)" ( (binary_expression "PTR_js_00144e58 + 0x2c" identifier + number_literal) )))) != identifier) )) && (parenthesized_expression "(iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (comma_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) , (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_00069ef0;" goto statement_identifier ;)) (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ee4;" goto statement_identifier ;) })) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" if (parenthesized_expression "((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0)" ( (binary_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0" (parenthesized_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000)" ( (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0x4000" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) })) (labeled_statement "LAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" statement_identifier : (if_statement "if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" if (parenthesized_expression "((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2))" ( (binary_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)" (parenthesized_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1))" ( (binary_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)" (parenthesized_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5))" ( (binary_expression "(*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)" (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) || (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 5) != 5)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 5) != 5" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 5)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 5" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) || (parenthesized_expression "((int)puVar28 < 1)" ( (binary_expression "(int)puVar28 < 1" (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) || (parenthesized_expression "(puVar34 != (undefined *)0x2)" ( (binary_expression "puVar34 != (undefined *)0x2" identifier != (cast_expression "(undefined *)0x2" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;))) (expression_statement "iVar5 = signal_is_trapped(2);" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) ;) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (if_statement "if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;" if (parenthesized_expression "((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))))" ( (binary_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" (parenthesized_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )))" ( (binary_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" (parenthesized_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))))" ( (binary_expression "(iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) && (parenthesized_expression "((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" ( (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) || (parenthesized_expression "((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" ( (parenthesized_expression "(0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))" ( (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)" (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898" number_literal < (pointer_expression "*(int *)PTR_shell_compatibility_level_00144898" * (cast_expression "(int *)PTR_shell_compatibility_level_00144898" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) && (parenthesized_expression "(*(int *)PTR_executing_list_00144cc0 != 0)" ( (binary_expression "*(int *)PTR_executing_list_00144cc0 != 0" (pointer_expression "*(int *)PTR_executing_list_00144cc0" * (cast_expression "(int *)PTR_executing_list_00144cc0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) )))) )) ))) )) || (parenthesized_expression "((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" ( (parenthesized_expression "(iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )" ( (comma_expression "iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (comma_expression "puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "puVar33 = PTR_stdout_001462f8" identifier = identifier) , (binary_expression "iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (binary_expression "iVar5 != 0" identifier != number_literal) && (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" * (cast_expression "(int *)PTR_loop_level_00144dc4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))))) )) ))) )) || (parenthesized_expression "(((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" ( (parenthesized_expression "((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))" ( (binary_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" (parenthesized_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)" (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) && (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" ( (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" identifier = (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "param_1 = puVar33" identifier = identifier) , (binary_expression "*(int *)PTR_sourcelevel_00144d2c != 0" (pointer_expression "*(int *)PTR_sourcelevel_00144d2c" * (cast_expression "(int *)PTR_sourcelevel_00144d2c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal))) ))) )) ))) )) (goto_statement "goto LAB_0006a714;" goto statement_identifier ;)) (expression_statement "puVar28 = PTR_stdout_001462f8;" (assignment_expression "puVar28 = PTR_stdout_001462f8" identifier = identifier) ;) (expression_statement "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);" (call_expression "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8)" (parenthesized_expression "(*(code *)PTR_putc_0014629c)" ( (pointer_expression "*(code *)PTR_putc_0014629c" * (cast_expression "(code *)PTR_putc_0014629c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,*(undefined4 *)PTR_stdout_001462f8)" ( number_literal , (pointer_expression "*(undefined4 *)PTR_stdout_001462f8" * (cast_expression "(undefined4 *)PTR_stdout_001462f8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);" (call_expression "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28)" (parenthesized_expression "(*(code *)PTR_fflush_00146520)" ( (pointer_expression "*(code *)PTR_fflush_00146520" * (cast_expression "(code *)PTR_fflush_00146520" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar28)" ( (pointer_expression "*(undefined4 *)puVar28" * (cast_expression "(undefined4 *)puVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) }) (else_clause "else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" else (if_statement "if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" { (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar2 + -0x70d4)" * (cast_expression "(int *)(puVar2 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006a3ac;" goto statement_identifier ;) })))) (labeled_statement "LAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (labeled_statement "LAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);" statement_identifier : (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;)) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (goto_statement "goto LAB_0006a00c;" goto statement_identifier ;) })) (if_statement "if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" if (parenthesized_expression "((uVar11 & 0x14) != 0)" ( (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" ( (binary_expression "uVar11 & 0x14" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" { (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" identifier = (pointer_expression "*(int *)(puVar2 + -0x70d4)" * (cast_expression "(int *)(puVar2 + -0x70d4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d4)" ( (binary_expression "puVar2 + -0x70d4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" statement_identifier : (if_statement "if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0))" ( (binary_expression "(iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(puVar2 + -0x70d8) == 0)" ( (binary_expression "*(int *)(puVar2 + -0x70d8) == 0" (pointer_expression "*(int *)(puVar2 + -0x70d8)" * (cast_expression "(int *)(puVar2 + -0x70d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + -0x70d8)" ( (binary_expression "puVar2 + -0x70d8" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" ( (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" identifier = (call_expression "signal_is_trapped(2)" identifier (argument_list "(2)" ( number_literal )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" { (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);" (assignment_expression "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0)" identifier = (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,0)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,0)" ( number_literal , number_literal )))) ;) (expression_statement "*(int *)(puVar28 + 0x460) = iVar5;" (assignment_expression "*(int *)(puVar28 + 0x460) = iVar5" (pointer_expression "*(int *)(puVar28 + 0x460)" * (cast_expression "(int *)(puVar28 + 0x460)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" if (parenthesized_expression "(iVar5 == 1)" ( (binary_expression "iVar5 == 1" identifier == number_literal) )) (compound_statement "{\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }" { (if_statement "if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" if (parenthesized_expression "(puVar34 != (undefined *)0x1)" ( (binary_expression "puVar34 != (undefined *)0x1" identifier != (cast_expression "(undefined *)0x1" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" { (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2,1)" ( number_literal , number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" ( (binary_expression "PTR___environ_00145154 + -0x70dc" identifier + number_literal) )))) = number_literal) ;) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;) })) }) (else_clause "else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" else (compound_statement "{\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" { (expression_statement "uVar30 = (*(code *)PTR_getpid_0014640c)();" (assignment_expression "uVar30 = (*(code *)PTR_getpid_0014640c)()" identifier = (call_expression "(*(code *)PTR_getpid_0014640c)()" (parenthesized_expression "(*(code *)PTR_getpid_0014640c)" ( (pointer_expression "*(code *)PTR_getpid_0014640c" * (cast_expression "(code *)PTR_getpid_0014640c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "(*(code *)PTR_kill_001463b8)(uVar30,2);" (call_expression "(*(code *)PTR_kill_001463b8)(uVar30,2)" (parenthesized_expression "(*(code *)PTR_kill_001463b8)" ( (pointer_expression "*(code *)PTR_kill_001463b8" * (cast_expression "(code *)PTR_kill_001463b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar30,2)" ( identifier , number_literal ))) ;) }))) }))) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" * (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (uVar11 != 0) goto LAB_0006a008;" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0006a008;" goto statement_identifier ;)) (if_statement "if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" if (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" { (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" identifier = (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (do_statement "do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);" do (compound_statement "{\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        }" { (expression_statement "uVar11 = piVar45[2] & 0x7f;" (assignment_expression "uVar11 = piVar45[2] & 0x7f" identifier = (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "cVar15 = (char)((char)uVar11 + '\x01') >> 1;" (assignment_expression "cVar15 = (char)((char)uVar11 + '\x01') >> 1" identifier = (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal)) ;) (if_statement "if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;" if (parenthesized_expression "(('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f))" ( (binary_expression "('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "('\0' < cVar15)" ( (binary_expression "'\0' < cVar15" (char_literal "'\0'" ' escape_sequence ') < identifier) )) || (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" ( (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" ( (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" identifier [ number_literal ]) & number_literal) )) == number_literal) ))) )) (break_statement "break;" break ;)) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" identifier = (cast_expression "(int *)*piVar45" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar45" * identifier))) ;) }) while (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" ( (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" * (cast_expression "(int **)(iVar5 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) != identifier) )) ;) (if_statement "if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" if (parenthesized_expression "(((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2))))" ( (binary_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))" (parenthesized_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0))" ( (binary_expression "(*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)" (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) && (parenthesized_expression "(('\0' < cVar15 && (uVar11 == 2)))" ( (parenthesized_expression "('\0' < cVar15 && (uVar11 == 2))" ( (binary_expression "'\0' < cVar15 && (uVar11 == 2)" (binary_expression "'\0' < cVar15" (char_literal "'\0'" ' escape_sequence ') < identifier) && (parenthesized_expression "(uVar11 == 2)" ( (binary_expression "uVar11 == 2" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" { (expression_statement "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;" (assignment_expression "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" * (cast_expression "(int *)PTR_interrupt_state_0014483c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) })) (if_statement "if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" if (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 != 0)" ( (binary_expression "*(int *)PTR_check_window_size_00144af0 != 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" * (cast_expression "(int *)PTR_check_window_size_00144af0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" { (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" ( (pointer_expression "*(code *)PTR_get_new_window_size_00144984" * (cast_expression "(code *)PTR_get_new_window_size_00144984" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,0,0)" ( number_literal , number_literal , number_literal ))) ;) (goto_statement "goto LAB_00069ffc;" goto statement_identifier ;) })) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (if_statement "if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;" if (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) != 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;)) (goto_statement "goto LAB_0006a528;" goto statement_identifier ;) })) (goto_statement "goto LAB_0006a01c;" goto statement_identifier ;) })) (labeled_statement "LAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;" statement_identifier : (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" identifier = identifier) ;)) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" identifier = identifier) ;) (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" ( (pointer_expression "*(code *)PTR_set_signal_handler_00144848" * (cast_expression "(code *)PTR_set_signal_handler_00144848" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" * (cast_expression "(undefined **)(puVar28 + 0x460)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x460)" ( (binary_expression "puVar28 + 0x460" identifier + number_literal) )))) = identifier) ;) (expression_statement "piVar45[-0x1c37] = 0;" (assignment_expression "piVar45[-0x1c37] = 0" (subscript_expression "piVar45[-0x1c37]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s6 = piVar45;" (assignment_expression "unaff_s6 = piVar45" identifier = identifier) ;) (labeled_statement "LAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" statement_identifier : (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" if (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" ( (binary_expression "puVar35 != (undefined *)0xffffffff" identifier != (cast_expression "(undefined *)0xffffffff" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" { (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" identifier = (cast_expression "(int *)((int)puVar35 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar35 * 4)" ( (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" identifier = (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" * (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" ( (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" * (cast_expression "(int *)PTR_jobs_00144e5c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_00069d68;" goto statement_identifier ;) }))) (if_statement "if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" if (parenthesized_expression "(unaff_s8 == 0)" ( (binary_expression "unaff_s8 == 0" identifier == number_literal) )) (compound_statement "{\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }" { (expression_statement "local_144 = (undefined1 *)0x0;" (assignment_expression "local_144 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;" (assignment_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0" (pointer_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(undefined4 *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) }) (else_clause "else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" else (compound_statement "{\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" { (labeled_statement "LAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);" statement_identifier : (expression_statement "uVar19 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar19 = *(uint *)(unaff_s8 + 8)" identifier = (pointer_expression "*(uint *)(unaff_s8 + 8)" * (cast_expression "(uint *)(unaff_s8 + 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s8 + 8)" ( (binary_expression "unaff_s8 + 8" identifier + number_literal) ))))) ;)) (expression_statement "uVar11 = uVar19 & 0x7f;" (assignment_expression "uVar11 = uVar19 & 0x7f" identifier = (binary_expression "uVar19 & 0x7f" identifier & number_literal)) ;) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" if (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" ( (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "((char)uVar11 + '\x01')" ( (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" ( (type_descriptor "char" primitive_type) ) identifier) + (char_literal "'\x01'" ' escape_sequence ')) ))) >> number_literal) < (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }" { (expression_statement "local_144 = (undefined1 *)FUN_00064cec(uVar19);" (assignment_expression "local_144 = (undefined1 *)FUN_00064cec(uVar19)" identifier = (cast_expression "(undefined1 *)FUN_00064cec(uVar19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00064cec(uVar19)" identifier (argument_list "(uVar19)" ( identifier ))))) ;) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" else (compound_statement "{\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" { (expression_statement "local_144 = (undefined1 *)(uVar11 + 0x80);" (assignment_expression "local_144 = (undefined1 *)(uVar11 + 0x80)" identifier = (cast_expression "(undefined1 *)(uVar11 + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar11 + 0x80)" ( (binary_expression "uVar11 + 0x80" identifier + number_literal) )))) ;) }))) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" * (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" if (parenthesized_expression "((uVar19 & 0xff) == 0x7f)" ( (binary_expression "(uVar19 & 0xff) == 0x7f" (parenthesized_expression "(uVar19 & 0xff)" ( (binary_expression "uVar19 & 0xff" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" { (expression_statement "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" identifier = (cast_expression "(undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uVar19 << 0x10) >> 0x18) + 0x80)" ( (binary_expression "((uVar19 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar19 << 0x10) >> 0x18)" ( (binary_expression "(uVar19 << 0x10) >> 0x18" (parenthesized_expression "(uVar19 << 0x10)" ( (binary_expression "uVar19 << 0x10" identifier << number_literal) )) >> number_literal) )) + number_literal) )))) ;) })) }))) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) (if_statement "if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" if (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0)" ( (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0" (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11)" ( (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 0x11" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" * (cast_expression "(uint *)PTR_subshell_environment_00144674" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) && (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" * (cast_expression "(int *)PTR_running_in_background_001446f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal)) )) (compound_statement "{\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" { (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" identifier (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" ( (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" * (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal ))) ;) })) }) (else_clause "else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" else (compound_statement "{\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" { (labeled_statement "LAB_0006a708:\n    puVar34 = puVar33;" statement_identifier : (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" identifier = identifier) ;)) (expression_statement "piVar45 = (int *)0x1;" (assignment_expression "piVar45 = (int *)0x1" identifier = (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);" (call_expression "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c)" (parenthesized_expression "(*(code *)PTR___longjmp_chk_001462e4)" ( (pointer_expression "*(code *)PTR___longjmp_chk_001462e4" * (cast_expression "(code *)PTR___longjmp_chk_001462e4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_wait_intr_buf_0014516c)" ( identifier ))) ;) (labeled_statement "LAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" statement_identifier : (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" identifier = (cast_expression "(int *)(*param_4 + (int)unaff_s6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_4 + (int)unaff_s6)" ( (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" * identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" identifier = (pointer_expression "*unaff_s6" * identifier)) ;) (expression_statement "*piVar45 = *piVar45 + 1;" (assignment_expression "*piVar45 = *piVar45 + 1" (pointer_expression "*piVar45" * identifier) = (binary_expression "*piVar45 + 1" (pointer_expression "*piVar45" * identifier) + number_literal)) ;) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a00c:\n    puVar28 = param_1;" statement_identifier : (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" identifier = identifier) ;)) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" identifier = identifier) ;) (if_statement "if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" if (parenthesized_expression "((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0))" ( (binary_expression "(iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar20 == 4)" ( (binary_expression "iVar20 == 4" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) (compound_statement "{\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" { (labeled_statement "LAB_0006a528:\n      FUN_00064d0c(puVar35);" statement_identifier : (expression_statement "FUN_00064d0c(puVar35);" (call_expression "FUN_00064d0c(puVar35)" identifier (argument_list "(puVar35)" ( identifier ))) ;)) (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" identifier = identifier) ;) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" identifier = identifier) ;) })) (labeled_statement "LAB_0006a01c:\n    notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" identifier = identifier) ;) }))) (labeled_statement "LAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" statement_identifier : (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" identifier = identifier) ;) (labeled_statement "LAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" statement_identifier : (if_statement "if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" if (parenthesized_expression "(local_2c == *(uint *)puVar4)" ( (binary_expression "local_2c == *(uint *)puVar4" identifier == (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return local_144;\n  }" { (return_statement "return local_144;" return identifier ;) }))) (expression_statement "pcVar7 = wait_for_single_pid;" (assignment_expression "pcVar7 = wait_for_single_pid" identifier = identifier) ;) (expression_statement "uVar11 = local_2c;" (assignment_expression "uVar11 = local_2c" identifier = identifier) ;) (expression_statement "puVar33 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (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 "()" ( ))) ;) (expression_statement "puStack_2a8 = puVar33 + 0xe1e00;" (assignment_expression "puStack_2a8 = puVar33 + 0xe1e00" identifier = (binary_expression "puVar33 + 0xe1e00" identifier + number_literal)) ;) (expression_statement "piVar45 = *(int **)(puVar33 + 0xdbd9c);" (assignment_expression "piVar45 = *(int **)(puVar33 + 0xdbd9c)" identifier = (pointer_expression "*(int **)(puVar33 + 0xdbd9c)" * (cast_expression "(int **)(puVar33 + 0xdbd9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0xdbd9c)" ( (binary_expression "puVar33 + 0xdbd9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_17c = (undefined *)piVar43;" (assignment_expression "puStack_17c = (undefined *)piVar43" identifier = (cast_expression "(undefined *)piVar43" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_19c = *piVar45;" (assignment_expression "iStack_19c = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "puStack_198 = param_1;" (assignment_expression "puStack_198 = param_1" identifier = identifier) ;) (expression_statement "puStack_194 = puVar34;" (assignment_expression "puStack_194 = puVar34" identifier = identifier) ;) (expression_statement "puStack_190 = puVar10;" (assignment_expression "puStack_190 = puVar10" identifier = identifier) ;) (expression_statement "piStack_18c = piVar21;" (assignment_expression "piStack_18c = piVar21" identifier = identifier) ;) (expression_statement "puStack_188 = puVar38;" (assignment_expression "puStack_188 = puVar38" identifier = identifier) ;) (expression_statement "puStack_184 = puVar3;" (assignment_expression "puStack_184 = puVar3" identifier = identifier) ;) (expression_statement "piStack_180 = unaff_s6;" (assignment_expression "piStack_180 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_178 = unaff_s8;" (assignment_expression "iStack_178 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar7;" (assignment_expression "pcStack_174 = pcVar7" identifier = identifier) ;) (expression_statement "(**(code **)(puVar33 + 0xdbb94))(auStack_29c);" (call_expression "(**(code **)(puVar33 + 0xdbb94))(auStack_29c)" (parenthesized_expression "(**(code **)(puVar33 + 0xdbb94))" ( (pointer_expression "**(code **)(puVar33 + 0xdbb94)" * (pointer_expression "*(code **)(puVar33 + 0xdbb94)" * (cast_expression "(code **)(puVar33 + 0xdbb94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar33 + 0xdbb94)" ( (binary_expression "puVar33 + 0xdbb94" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = FUN_0006403c(uVar11,0,0);" (assignment_expression "iVar5 = FUN_0006403c(uVar11,0,0)" identifier = (call_expression "FUN_0006403c(uVar11,0,0)" identifier (argument_list "(uVar11,0,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }" { (expression_statement "piVar21 = *(int **)(puStack_2a8 + -0x7408);" (assignment_expression "piVar21 = *(int **)(puStack_2a8 + -0x7408)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x7408)" * (cast_expression "(int **)(puStack_2a8 + -0x7408)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7408)" ( (binary_expression "puStack_2a8 + -0x7408" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *piVar21;" (assignment_expression "iVar20 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;) (if_statement "if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" if (parenthesized_expression "(((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0))" ( (binary_expression "((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)" (parenthesized_expression "((iVar20 != 0) && (piVar21[2] != 0))" ( (binary_expression "(iVar20 != 0) && (piVar21[2] != 0)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(piVar21[2] != 0)" ( (binary_expression "piVar21[2] != 0" (subscript_expression "piVar21[2]" identifier [ number_literal ]) != number_literal) ))) )) && (parenthesized_expression "(piVar21[3] != 0)" ( (binary_expression "piVar21[3] != 0" (subscript_expression "piVar21[3]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" { (expression_statement "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" identifier = (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4" (pointer_expression "*(int *)(puStack_2a8 + -0x7404)" * (cast_expression "(int *)(puStack_2a8 + -0x7404)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7404)" ( (binary_expression "puStack_2a8 + -0x7404" identifier + number_literal) )))) + (binary_expression "(uVar11 & 0xfff) * 4" (parenthesized_expression "(uVar11 & 0xfff)" ( (binary_expression "uVar11 & 0xfff" identifier & number_literal) )) * number_literal)) ))))) ;) (if_statement "if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" { (expression_statement "piVar21 = (int *)(iVar20 + iVar9 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar9 * 0x10)" identifier = (cast_expression "(int *)(iVar20 + iVar9 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar9 * 0x10)" ( (binary_expression "iVar20 + iVar9 * 0x10" identifier + (binary_expression "iVar9 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" if (parenthesized_expression "(uVar11 == piVar21[2])" ( (binary_expression "uVar11 == piVar21[2]" identifier == (subscript_expression "piVar21[2]" identifier [ number_literal ])) )) (compound_statement "{\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }" { (labeled_statement "LAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" statement_identifier : (expression_statement "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" (assignment_expression "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3)" identifier = (cast_expression "(undefined1 *)(int)*(short *)(piVar21 + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(short *)(piVar21 + 3)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(piVar21 + 3)" * (cast_expression "(short *)(piVar21 + 3)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar21 + 3)" ( (binary_expression "piVar21 + 3" identifier + number_literal) ))))))) ;)) (if_statement "if (-1 < (int)puVar12) goto LAB_0006a9b0;" if (parenthesized_expression "(-1 < (int)puVar12)" ( (binary_expression "-1 < (int)puVar12" number_literal < (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0006a9b0;" goto statement_identifier ;)) }) (else_clause "else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" else (compound_statement "{\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" { (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (while_statement "while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" while (parenthesized_expression "(iVar9 != iVar41)" ( (binary_expression "iVar9 != iVar41" identifier != identifier) )) (compound_statement "{\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" { (if_statement "if (iVar41 == -1) goto LAB_0006aae8;" if (parenthesized_expression "(iVar41 == -1)" ( (binary_expression "iVar41 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006aae8;" goto statement_identifier ;)) (expression_statement "piVar21 = (int *)(iVar20 + iVar41 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar41 * 0x10)" identifier = (cast_expression "(int *)(iVar20 + iVar41 * 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar41 * 0x10)" ( (binary_expression "iVar20 + iVar41 * 0x10" identifier + (binary_expression "iVar41 * 0x10" identifier * number_literal)) )))) ;) (if_statement "if (uVar11 == piVar21[2]) goto LAB_0006aaf8;" if (parenthesized_expression "(uVar11 == piVar21[2])" ( (binary_expression "uVar11 == piVar21[2]" identifier == (subscript_expression "piVar21[2]" identifier [ number_literal ])) )) (goto_statement "goto LAB_0006aaf8;" goto statement_identifier ;)) (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) })) (expression_statement "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);" (call_expression "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" identifier (argument_list "(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" ( (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 32000" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))) ;) }))) })) })) (labeled_statement "LAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);" statement_identifier : (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 1);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 1)" identifier = (cast_expression "(undefined *)((uint)puVar40 & 1)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar40 & 1)" ( (binary_expression "(uint)puVar40 & 1" (cast_expression "(uint)puVar40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;)) (if_statement "if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" if (parenthesized_expression "(puVar40 == (undefined *)0x0)" ( (binary_expression "puVar40 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n    }" { (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" else (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" { (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" identifier = (cast_expression "(undefined1 *)0x7f" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);" (assignment_expression "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" identifier = (call_expression "(**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x60a8))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x60a8)" * (pointer_expression "*(code **)(puStack_2a8 + -0x60a8)" * (cast_expression "(code **)(puStack_2a8 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60a8)" ( (binary_expression "puStack_2a8 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" ( number_literal , (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" * (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x7fc8)" ( (binary_expression "puStack_2a8 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,uVar11);" (call_expression "internal_error(uVar30,uVar11)" identifier (argument_list "(uVar30,uVar11)" ( identifier , identifier ))) ;) }))) }) (else_clause "else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" else (compound_statement "{\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" { (expression_statement "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);" (assignment_expression "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4)" identifier = (pointer_expression "*(int **)(puStack_2a8 + -0x77a4)" * (cast_expression "(int **)(puStack_2a8 + -0x77a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x77a4)" ( (binary_expression "puStack_2a8 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 2);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 2)" identifier = (cast_expression "(undefined *)((uint)puVar40 & 2)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar40 & 2)" ( (binary_expression "(uint)puVar40 & 2" (cast_expression "(uint)puVar40" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "piVar43 = (int *)0x7f;" (assignment_expression "piVar43 = (int *)0x7f" identifier = (cast_expression "(int *)0x7f" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" identifier = (cast_expression "(undefined1 *)wait_for(uVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))))) ;) (while_statement "while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" while (parenthesized_expression "(puVar40 != (undefined *)0x0)" ( (binary_expression "puVar40 != (undefined *)0x0" identifier != (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" { (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" if (parenthesized_expression "((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f'))" ( (binary_expression "(*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')" (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar5 + 0xc) != 1" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(char *)(iVar5 + 0xb) != '\x7f')" ( (binary_expression "*(char *)(iVar5 + 0xb) != '\x7f'" (pointer_expression "*(char *)(iVar5 + 0xb)" * (cast_expression "(char *)(iVar5 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xb)" ( (binary_expression "iVar5 + 0xb" identifier + number_literal) )))) != (char_literal "'\x7f'" ' escape_sequence ')) ))) )) (compound_statement "{\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" { (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))();" (call_expression "(**(code **)(puStack_2a8 + -0x602c))()" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" identifier = (cast_expression "(undefined1 *)wait_for(uVar11)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))))) ;) })) (expression_statement "iVar5 = *(int *)(puStack_2a8 + -0x76e8);" (assignment_expression "iVar5 = *(int *)(puStack_2a8 + -0x76e8)" identifier = (pointer_expression "*(int *)(puStack_2a8 + -0x76e8)" * (cast_expression "(int *)(puStack_2a8 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x76e8)" ( (binary_expression "puStack_2a8 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_29c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" * (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" * (cast_expression "(code **)(puStack_2a8 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x61dc)" ( (binary_expression "puStack_2a8 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_29c,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" * (cast_expression "(code **)(puStack_2a8 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x626c)" ( (binary_expression "puStack_2a8 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_21c)" ( identifier ))) ;) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" ( (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" * (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_29c,auStack_21c)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" if (parenthesized_expression "(0 < *(int *)(iVar5 + 0x18))" ( (binary_expression "0 < *(int *)(iVar5 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" { (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);" (assignment_expression "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" identifier = (cast_expression "(int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_2a8 + -0x76e4)" * (pointer_expression "*(undefined4 **)(puStack_2a8 + -0x76e4)" * (cast_expression "(undefined4 **)(puStack_2a8 + -0x76e4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x76e4)" ( (binary_expression "puStack_2a8 + -0x76e4" identifier + number_literal) ))))))) ;) (do_statement "do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));" do (compound_statement "{\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      }" { (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (if_statement "if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" { (expression_statement "piVar44 = *(int **)(iVar9 + 4);" (assignment_expression "piVar44 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = piVar44[1];" (assignment_expression "uVar19 = piVar44[1]" identifier = (subscript_expression "piVar44[1]" identifier [ number_literal ])) ;) (expression_statement "piVar29 = piVar44;" (assignment_expression "piVar29 = piVar44" identifier = identifier) ;) (while_statement "while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" { (if_statement "if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" if (parenthesized_expression "(uVar11 == uVar19)" ( (binary_expression "uVar11 == uVar19" identifier == identifier) )) (compound_statement "{\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" { (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" if (parenthesized_expression "(*(int *)(iVar9 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar9 + 0xc) == 4" (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" { (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (goto_statement "goto LAB_0006a950;" goto statement_identifier ;) })) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" identifier = (cast_expression "(int *)*piVar29" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar29" * identifier))) ;) (if_statement "if (piVar44 == piVar29) break;" if (parenthesized_expression "(piVar44 == piVar29)" ( (binary_expression "piVar44 == piVar29" identifier == identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar19 = piVar29[1];" (assignment_expression "uVar19 = piVar29[1]" identifier = (subscript_expression "piVar29[1]" identifier [ number_literal ])) ;) })) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" identifier = (binary_expression "piVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 != *(int *)(iVar5 + 0x18))" ( (binary_expression "iVar20 != *(int *)(iVar5 + 0x18)" identifier != (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" * (cast_expression "(code **)(puStack_2a8 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x602c)" ( (binary_expression "puStack_2a8 + -0x602c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_21c,0);" (call_expression "(*pcVar7)(3,auStack_21c,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_21c,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" if (parenthesized_expression "(**(int **)(puStack_2a8 + -0x7fb4) != 0)" ( (binary_expression "**(int **)(puStack_2a8 + -0x7fb4) != 0" (pointer_expression "**(int **)(puStack_2a8 + -0x7fb4)" * (pointer_expression "*(int **)(puStack_2a8 + -0x7fb4)" * (cast_expression "(int **)(puStack_2a8 + -0x7fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x7fb4)" ( (binary_expression "puStack_2a8 + -0x7fb4" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" { (if_statement "if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }" if (parenthesized_expression "((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar5 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar5 + 0x18) != 0" (pointer_expression "*(int *)(iVar5 + 0x18)" * (cast_expression "(int *)(iVar5 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x18)" ( (binary_expression "iVar5 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(puStack_2a8 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(puStack_2a8 + -0x73ec)" * (cast_expression "(int *)(puStack_2a8 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_2a8 + -0x73ec)" ( (binary_expression "puStack_2a8 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n        FUN_00068b60();\n      }" { (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000648c0(uVar11);" (call_expression "FUN_000648c0(uVar11)" identifier (argument_list "(uVar11)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" statement_identifier : (if_statement "if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_19c == *piVar45)" ( (binary_expression "iStack_19c == *piVar45" identifier == (pointer_expression "*piVar45" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) }))) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_2a8 + -0x60b8)" * (cast_expression "(code **)(puStack_2a8 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_2a8 + -0x60b8)" ( (binary_expression "puStack_2a8 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_background_pids;" (assignment_expression "pcVar8 = wait_for_background_pids" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_400 = pcVar7 + 0xe19dc;" (assignment_expression "pcStack_400 = pcVar7 + 0xe19dc" identifier = (binary_expression "pcVar7 + 0xe19dc" identifier + number_literal)) ;) (expression_statement "piStack_3f0 = *(int **)(pcVar7 + 0xdb978);" (assignment_expression "piStack_3f0 = *(int **)(pcVar7 + 0xdb978)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb978)" * (cast_expression "(int **)(pcVar7 + 0xdb978)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb978)" ( (binary_expression "pcVar7 + 0xdb978" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xda48c);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xda48c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) ))))) ;) (expression_statement "pcStack_3f4 = (code *)(iVar20 + 0x5a6c);" (assignment_expression "pcStack_3f4 = (code *)(iVar20 + 0x5a6c)" identifier = (cast_expression "(code *)(iVar20 + 0x5a6c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x5a6c)" ( (binary_expression "iVar20 + 0x5a6c" identifier + number_literal) )))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a14);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a14)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a14)" * (cast_expression "(int *)(pcVar7 + 0xd9a14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a14)" ( (binary_expression "pcVar7 + 0xd9a14" identifier + number_literal) ))))) ;) (expression_statement "puStack_2e4 = (undefined1 *)*piStack_3f0;" (assignment_expression "puStack_2e4 = (undefined1 *)*piStack_3f0" identifier = (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier))) ;) (expression_statement "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);" (assignment_expression "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" ( (binary_expression "*(int *)(pcVar7 + 0xda48c) + 0x4e60" (pointer_expression "*(int *)(pcVar7 + 0xda48c)" * (cast_expression "(int *)(pcVar7 + 0xda48c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda48c)" ( (binary_expression "pcVar7 + 0xda48c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xda2f4);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xda2f4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xda2f4)" * (cast_expression "(int *)(pcVar7 + 0xda2f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xda2f4)" ( (binary_expression "pcVar7 + 0xda2f4" identifier + number_literal) ))))) ;) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xda2f8);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xda2f8)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xda2f8)" * (cast_expression "(int **)(pcVar7 + 0xda2f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda2f8)" ( (binary_expression "pcVar7 + 0xda2f8" identifier + number_literal) ))))) ;) (expression_statement "puStack_2e0 = auStack_29c;" (assignment_expression "puStack_2e0 = auStack_29c" identifier = identifier) ;) (expression_statement "puStack_2dc = auStack_21c;" (assignment_expression "puStack_2dc = auStack_21c" identifier = identifier) ;) (expression_statement "uStack_2d8 = uVar11;" (assignment_expression "uStack_2d8 = uVar11" identifier = identifier) ;) (expression_statement "iStack_2d4 = iVar5;" (assignment_expression "iStack_2d4 = iVar5" identifier = identifier) ;) (expression_statement "puStack_2d0 = puVar40;" (assignment_expression "puStack_2d0 = puVar40" identifier = identifier) ;) (expression_statement "puStack_2cc = puVar12;" (assignment_expression "puStack_2cc = puVar12" identifier = identifier) ;) (expression_statement "piStack_2c8 = unaff_s6;" (assignment_expression "piStack_2c8 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_2c4 = piVar43;" (assignment_expression "piStack_2c4 = piVar43" identifier = identifier) ;) (expression_statement "piStack_2c0 = piVar45;" (assignment_expression "piStack_2c0 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_2bc = pcVar8;" (assignment_expression "pcStack_2bc = pcVar8" identifier = identifier) ;) (labeled_statement "LAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" statement_identifier : (do_statement "do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" do (compound_statement "{\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  }" { (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) (do_statement "do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));" do (compound_statement "{\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    }" { (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)(auStack_3e4);" (call_expression "(*pcVar7)(auStack_3e4)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(auStack_3e4)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);" (call_expression "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_400 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_400 + -0x61dc)" * (cast_expression "(code **)(pcStack_400 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x61dc)" ( (binary_expression "pcStack_400 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(auStack_3e4,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x626c))(auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x626c))(auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x626c)" * (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_364)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,auStack_3e4,auStack_364)" ( number_literal , identifier , identifier ))) ;) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" identifier = (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" if (parenthesized_expression "(0 < (int)piVar45)" ( (binary_expression "0 < (int)piVar45" number_literal < (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" { (expression_statement "iVar20 = 2;" (assignment_expression "iVar20 = 2" identifier = number_literal) ;) (do_statement "do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);" do (compound_statement "{\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        }" { (expression_statement "piVar43 = (int *)((int)piVar29 * 4);" (assignment_expression "piVar43 = (int *)((int)piVar29 * 4)" identifier = (cast_expression "(int *)((int)piVar29 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 * 4)" ( (binary_expression "(int)piVar29 * 4" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "iVar5 = *(int *)(*piVar21 + (int)piVar43);" (assignment_expression "iVar5 = *(int *)(*piVar21 + (int)piVar43)" identifier = (pointer_expression "*(int *)(*piVar21 + (int)piVar43)" * (cast_expression "(int *)(*piVar21 + (int)piVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + (int)piVar43)" ( (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" * identifier) + (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" { (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" if (parenthesized_expression "(iVar16 == 2)" ( (binary_expression "iVar16 == 2" identifier == number_literal) )) (compound_statement "{\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" { (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" identifier = (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar29)" ( identifier )))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));" (call_expression "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7354))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7354)" * (pointer_expression "*(code **)(pcStack_400 + -0x7354)" * (cast_expression "(code **)(pcStack_400 + -0x7354)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7354)" ( (binary_expression "pcStack_400 + -0x7354" identifier + number_literal) ))))) )) (argument_list "(iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" ( (binary_expression "iVar9 + 0x7d64" identifier + number_literal) , (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) )))) ))) ;) (expression_statement "piVar43 = (int *)(*piVar21 + (int)piVar43);" (assignment_expression "piVar43 = (int *)(*piVar21 + (int)piVar43)" identifier = (cast_expression "(int *)(*piVar21 + (int)piVar43)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + (int)piVar43)" ( (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" * identifier) + (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" identifier = identifier) ;) (if_statement "if (iVar5 == 0) goto LAB_0006ac6c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006ac6c;" goto statement_identifier ;)) (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" identifier = (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) ))))) ;) })) (expression_statement "unaff_s6 = (int *)((int)piVar29 + 1);" (assignment_expression "unaff_s6 = (int *)((int)piVar29 + 1)" identifier = (cast_expression "(int *)((int)piVar29 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 + 1)" ( (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" if (parenthesized_expression "((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0))" ( (binary_expression "(iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(iVar16 == 1)" ( (binary_expression "iVar16 == 1" identifier == number_literal) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" { (if_statement "if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;" if (parenthesized_expression "(piVar29 != *(int **)(iVar41 + 0x18))" ( (binary_expression "piVar29 != *(int **)(iVar41 + 0x18)" identifier != (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006ac88;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006ad54;" goto statement_identifier ;) })) })) (labeled_statement "LAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);" statement_identifier : (expression_statement "piVar29 = (int *)((int)piVar29 + 1);" (assignment_expression "piVar29 = (int *)((int)piVar29 + 1)" identifier = (cast_expression "(int *)((int)piVar29 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar29 + 1)" ( (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;)) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" identifier = (pointer_expression "*(int **)(iVar41 + 0x18)" * (cast_expression "(int **)(iVar41 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = piVar29;" (assignment_expression "unaff_s6 = piVar29" identifier = identifier) ;) }) while (parenthesized_expression "((int)piVar29 < (int)piVar45)" ( (binary_expression "(int)piVar29 < (int)piVar45" (cast_expression "(int)piVar29" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x602c)" * (cast_expression "(code **)(pcVar7 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x602c)" ( (binary_expression "pcVar7 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" if (parenthesized_expression "(piVar29 == piVar45)" ( (binary_expression "piVar29 == piVar45" identifier == identifier) )) (compound_statement "{\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" { (labeled_statement "LAB_0006ad54:\n        puVar12 = auStack_364;" statement_identifier : (expression_statement "puVar12 = auStack_364;" (assignment_expression "puVar12 = auStack_364" identifier = identifier) ;)) (expression_statement "(*pcVar7)(3,auStack_364,0);" (call_expression "(*pcVar7)(3,auStack_364,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }" if (parenthesized_expression "((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1))" ( (binary_expression "(**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" ( (binary_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1" (pointer_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" * (cast_expression "(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) + 4)" ( (binary_expression "**(int **)(pcStack_400 + -0x73fc) + 4" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" * (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" * (cast_expression "(int **)(pcStack_400 + -0x73fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x73fc)" ( (binary_expression "pcStack_400 + -0x73fc" identifier + number_literal) ))))) + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          wait_for();\n        }" { (expression_statement "wait_for();" (call_expression "wait_for()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "wait_procsubs();" (call_expression "wait_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "reap_procsubs();" (call_expression "reap_procsubs()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (expression_statement "FUN_00065adc();" (call_expression "FUN_00065adc()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }" if (parenthesized_expression "((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0))" ( (binary_expression "(*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar41 + 0x18) != 0)" ( (binary_expression "*(int *)(iVar41 + 0x18) != 0" (pointer_expression "*(int *)(iVar41 + 0x18)" * (cast_expression "(int *)(iVar41 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "(*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" * (cast_expression "(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" ( (binary_expression "*(int *)(pcStack_400 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(pcStack_400 + -0x73ec)" * (cast_expression "(int *)(pcStack_400 + -0x73ec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_400 + -0x73ec)" ( (binary_expression "pcStack_400 + -0x73ec" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          FUN_00068b60();\n        }" { (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000645ac();" (call_expression "FUN_000645ac()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }" if (parenthesized_expression "(puStack_2e4 == (undefined1 *)*piStack_3f0)" ( (binary_expression "puStack_2e4 == (undefined1 *)*piStack_3f0" identifier == (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier))) )) (compound_statement "{\n          return (undefined1 *)*piStack_3f0;\n        }" { (return_statement "return (undefined1 *)*piStack_3f0;" return (cast_expression "(undefined1 *)*piStack_3f0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piStack_3f0" * identifier)) ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x60b8)" * (cast_expression "(code **)(pcStack_400 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x60b8)" ( (binary_expression "pcStack_400 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_job;" (assignment_expression "pcVar8 = wait_for_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_560 = pcVar7 + 0xe1688;" (assignment_expression "pcStack_560 = pcVar7 + 0xe1688" identifier = (binary_expression "pcVar7 + 0xe1688" identifier + number_literal)) ;) (expression_statement "piStack_548 = *(int **)(pcVar7 + 0xdb624);" (assignment_expression "piStack_548 = *(int **)(pcVar7 + 0xdb624)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdb624)" * (cast_expression "(int **)(pcVar7 + 0xdb624)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb624)" ( (binary_expression "pcVar7 + 0xdb624" identifier + number_literal) ))))) ;) (expression_statement "puVar31 = auStack_53c;" (assignment_expression "puVar31 = auStack_53c" identifier = identifier) ;) (expression_statement "piVar44 = (int *)(iVar5 * 4);" (assignment_expression "piVar44 = (int *)(iVar5 * 4)" identifier = (cast_expression "(int *)(iVar5 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 * 4)" ( (binary_expression "iVar5 * 4" identifier * number_literal) )))) ;) (expression_statement "iStack_43c = *piStack_548;" (assignment_expression "iStack_43c = *piStack_548" identifier = (pointer_expression "*piStack_548" * identifier)) ;) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9fa4);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9fa4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9fa4)" * (cast_expression "(int **)(pcVar7 + 0xd9fa4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9fa4)" ( (binary_expression "pcVar7 + 0xd9fa4" identifier + number_literal) ))))) ;) (expression_statement "piStack_438 = piVar29;" (assignment_expression "piStack_438 = piVar29" identifier = identifier) ;) (expression_statement "iStack_434 = iVar20;" (assignment_expression "iStack_434 = iVar20" identifier = identifier) ;) (expression_statement "puStack_430 = auStack_364;" (assignment_expression "puStack_430 = auStack_364" identifier = identifier) ;) (expression_statement "iStack_42c = iVar9 + 0x7d64;" (assignment_expression "iStack_42c = iVar9 + 0x7d64" identifier = (binary_expression "iVar9 + 0x7d64" identifier + number_literal)) ;) (expression_statement "puStack_428 = auStack_3e4;" (assignment_expression "puStack_428 = auStack_3e4" identifier = identifier) ;) (expression_statement "iStack_424 = iVar41;" (assignment_expression "iStack_424 = iVar41" identifier = identifier) ;) (expression_statement "piStack_420 = unaff_s6;" (assignment_expression "piStack_420 = unaff_s6" identifier = identifier) ;) (expression_statement "piStack_41c = piVar43;" (assignment_expression "piStack_41c = piVar43" identifier = identifier) ;) (expression_statement "piStack_418 = piVar21;" (assignment_expression "piStack_418 = piVar21" identifier = identifier) ;) (expression_statement "pcStack_414 = pcVar8;" (assignment_expression "pcStack_414 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb41c))(puVar31);" (call_expression "(**(code **)(pcVar7 + 0xdb41c))(puVar31)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb41c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb41c)" * (pointer_expression "*(code **)(pcVar7 + 0xdb41c)" * (cast_expression "(code **)(pcVar7 + 0xdb41c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb41c)" ( (binary_expression "pcVar7 + 0xdb41c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" if (parenthesized_expression "(*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2)" ( (binary_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2" (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" { (expression_statement "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);" (assignment_expression "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" identifier = (call_expression "(**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x60a8))" ( (pointer_expression "**(code **)(pcStack_560 + -0x60a8)" * (pointer_expression "*(code **)(pcStack_560 + -0x60a8)" * (cast_expression "(code **)(pcStack_560 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60a8)" ( (binary_expression "pcStack_560 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" ( number_literal , (binary_expression "*(int *)(pcStack_560 + -0x7fc8) + 0x7d78" (pointer_expression "*(int *)(pcStack_560 + -0x7fc8)" * (cast_expression "(int *)(pcStack_560 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7fc8)" ( (binary_expression "pcStack_560 + -0x7fc8" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_warning(uVar30,iVar5 + 1);" (call_expression "internal_warning(uVar30,iVar5 + 1)" identifier (argument_list "(uVar30,iVar5 + 1)" ( identifier , (binary_expression "iVar5 + 1" identifier + number_literal) ))) ;) })) (expression_statement "pcStack_554 = *(code **)(pcStack_560 + -0x77a4);" (assignment_expression "pcStack_554 = *(code **)(pcStack_560 + -0x77a4)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x77a4)" * (cast_expression "(code **)(pcStack_560 + -0x77a4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x77a4)" ( (binary_expression "pcStack_560 + -0x77a4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = (int *)0xffffffff;" (assignment_expression "piVar43 = (int *)0xffffffff" identifier = (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar21 = (int *)((uint)puVar12 & 2);" (assignment_expression "piVar21 = (int *)((uint)puVar12 & 2)" identifier = (cast_expression "(int *)((uint)puVar12 & 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)puVar12 & 2)" ( (binary_expression "(uint)puVar12 & 2" (cast_expression "(uint)puVar12" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "iStack_54c = *(int *)(pcStack_560 + -0x76e8);" (assignment_expression "iStack_54c = *(int *)(pcStack_560 + -0x76e8)" identifier = (pointer_expression "*(int *)(pcStack_560 + -0x76e8)" * (cast_expression "(int *)(pcStack_560 + -0x76e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x76e8)" ( (binary_expression "pcStack_560 + -0x76e8" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = FUN_00065a6c(iVar5);" (assignment_expression "iVar20 = FUN_00065a6c(iVar5)" identifier = (call_expression "FUN_00065a6c(iVar5)" identifier (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "piVar29 = *(int **)(iVar20 + 4);" (assignment_expression "piVar29 = *(int **)(iVar20 + 4)" identifier = (pointer_expression "*(int **)(iVar20 + 4)" * (cast_expression "(int **)(iVar20 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar20 + 4)" ( (binary_expression "iVar20 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);" (assignment_expression "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" identifier = (cast_expression "(code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" ( (binary_expression "*(int *)(pcStack_560 + -0x7550) + 0x4e60" (pointer_expression "*(int *)(pcStack_560 + -0x7550)" * (cast_expression "(int *)(pcStack_560 + -0x7550)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_560 + -0x7550)" ( (binary_expression "pcStack_560 + -0x7550" identifier + number_literal) )))) + number_literal) )))) ;) (goto_statement "goto LAB_0006afd8;" goto statement_identifier ;) })) (labeled_statement "LAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);" statement_identifier : (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" identifier = (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" ( (pointer_expression "*pcStack_3f4" * identifier) )) (argument_list "(piVar29)" ( identifier )))) ;)) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_400 + -0x602c)" * (pointer_expression "*(code **)(pcStack_400 + -0x602c)" * (cast_expression "(code **)(pcStack_400 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x602c)" ( (binary_expression "pcStack_400 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_364,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d0c) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d0c) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" { (expression_statement "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));" (call_expression "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_400 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_400 + -0x7d08)" * (cast_expression "(code **)(pcStack_400 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d08)" ( (binary_expression "pcStack_400 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(**(int **)(pcStack_400 + -0x7d0c))" ( (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" * (cast_expression "(int **)(pcStack_400 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d0c)" ( (binary_expression "pcStack_400 + -0x7d0c" identifier + number_literal) ))))) ))) ;) })) (if_statement "if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }" if (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d04) != 0)" ( (binary_expression "**(int **)(pcStack_400 + -0x7d04) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d04)" * (pointer_expression "*(int **)(pcStack_400 + -0x7d04)" * (cast_expression "(int **)(pcStack_400 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x7d04)" ( (binary_expression "pcStack_400 + -0x7d04" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_400 + -32000))();\n      }" { (expression_statement "(**(code **)(pcStack_400 + -32000))();" (call_expression "(**(code **)(pcStack_400 + -32000))()" (parenthesized_expression "(**(code **)(pcStack_400 + -32000))" ( (pointer_expression "**(code **)(pcStack_400 + -32000)" * (pointer_expression "*(code **)(pcStack_400 + -32000)" * (cast_expression "(code **)(pcStack_400 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -32000)" ( (binary_expression "pcStack_400 + -32000" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();" (assignment_expression "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_400 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_400 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_400 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_400 + -0x6204)" * (pointer_expression "*(code **)(pcStack_400 + -0x6204)" * (cast_expression "(code **)(pcStack_400 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x6204)" ( (binary_expression "pcStack_400 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*unaff_s6 = 0;" (assignment_expression "*unaff_s6 = 0" (pointer_expression "*unaff_s6" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for_single_pid(uVar30,1);" (assignment_expression "iVar5 = wait_for_single_pid(uVar30,1)" identifier = (call_expression "wait_for_single_pid(uVar30,1)" identifier (argument_list "(uVar30,1)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006abe0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006abe0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_400 + -0x626c)" * (cast_expression "(code **)(pcStack_400 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_400 + -0x626c)" ( (binary_expression "pcStack_400 + -0x626c" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0))" ( (binary_expression "(*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0)" (parenthesized_expression "(*unaff_s6 != 10)" ( (binary_expression "*unaff_s6 != 10" (pointer_expression "*unaff_s6" * identifier) != number_literal) )) || (parenthesized_expression "(*(int *)(iVar41 + 0x18) == 0)" ( (binary_expression "*(int *)(iVar41 + 0x18) == 0" (pointer_expression "*(int *)(iVar41 + 0x18)" * (cast_expression "(int *)(iVar41 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x18)" ( (binary_expression "iVar41 + 0x18" identifier + number_literal) )))) == number_literal) ))) )) ;) (expression_statement "(*pcStack_3ec)();" (call_expression "(*pcStack_3ec)()" (parenthesized_expression "(*pcStack_3ec)" ( (pointer_expression "*pcStack_3ec" * identifier) )) (argument_list "()" ( ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) (labeled_statement "LAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);" statement_identifier : (expression_statement "puVar13 = (undefined1 *)job_exit_status(piVar45);" (assignment_expression "puVar13 = (undefined1 *)job_exit_status(piVar45)" identifier = (cast_expression "(undefined1 *)job_exit_status(piVar45)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "job_exit_status(piVar45)" identifier (argument_list "(piVar45)" ( identifier ))))) ;)) (if_statement "if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }" if (parenthesized_expression "(((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0))" ( (binary_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)" (parenthesized_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0))" ( (binary_expression "(piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(piVar26 == (int *)0x0)" ( (binary_expression "piVar26 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" ( (comma_expression "FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0" (call_expression "FUN_00065dcc()" identifier (argument_list "()" ( ))) , (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" * (cast_expression "(int *)(iVar20 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x705c)" ( (binary_expression "iVar20 + -0x705c" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    FUN_00066b6c(piVar45,0);\n  }" { (expression_statement "FUN_00066b6c(piVar45,0);" (call_expression "FUN_00066b6c(piVar45,0)" identifier (argument_list "(piVar45,0)" ( identifier , number_literal ))) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x737c))();" (call_expression "(**(code **)(pcStack_6b0 + -0x737c))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x737c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x737c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x737c)" * (cast_expression "(code **)(pcStack_6b0 + -0x737c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x737c)" ( (binary_expression "pcStack_6b0 + -0x737c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) (while_statement "while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" { (expression_statement "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);" (assignment_expression "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc)" ( number_literal , identifier ))) ;) (if_statement "if (iStack_550 == 4) break;" if (parenthesized_expression "(iStack_550 == 4)" ( (binary_expression "iStack_550 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" statement_identifier : (expression_statement "puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" (assignment_expression "puVar12 = (undefined1 *)(*pcStack_554)(piVar29)" identifier = (cast_expression "(undefined1 *)(*pcStack_554)(piVar29)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcStack_554)(piVar29)" (parenthesized_expression "(*pcStack_554)" ( (pointer_expression "*pcStack_554" * identifier) )) (argument_list "(piVar29)" ( identifier ))))) ;)) (if_statement "if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" if (parenthesized_expression "(((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0))" ( (binary_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)" (parenthesized_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10))" ( (binary_expression "(puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" (parenthesized_expression "(puVar12 == (undefined1 *)0xffffffff)" ( (binary_expression "puVar12 == (undefined1 *)0xffffffff" identifier == (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" ( (comma_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10" (assignment_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_560 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_560 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_560 + -0x6204))" ( (pointer_expression "**(code **)(pcStack_560 + -0x6204)" * (pointer_expression "*(code **)(pcStack_560 + -0x6204)" * (cast_expression "(code **)(pcStack_560 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x6204)" ( (binary_expression "pcStack_560 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "*piVar26 == 10" (pointer_expression "*piVar26" * identifier) == number_literal)) ))) )) && (parenthesized_expression "(*(int *)(iStack_54c + 0x18) != 0)" ( (binary_expression "*(int *)(iStack_54c + 0x18) != 0" (pointer_expression "*(int *)(iStack_54c + 0x18)" * (cast_expression "(int *)(iStack_54c + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_54c + 0x18)" ( (binary_expression "iStack_54c + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "(*pcStack_544)();" (call_expression "(*pcStack_544)()" (parenthesized_expression "(*pcStack_544)" ( (pointer_expression "*pcStack_544" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" else (compound_statement "{\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" { (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) ;) }))) (if_statement "if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" if (parenthesized_expression "(piVar21 == (int *)0x0)" ( (binary_expression "piVar21 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" { (expression_statement "(*pcVar7)(puVar31);" (call_expression "(*pcVar7)(puVar31)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 != -1) goto LAB_0006b0d0;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006b0d0;" goto statement_identifier ;)) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b0f4;" goto statement_identifier ;) })) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (goto_statement "goto LAB_0006b0f0;" goto statement_identifier ;) })) (if_statement "if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" if (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) == 0)" ( (binary_expression "*(int *)(*piVar45 + (int)piVar44) == 0" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" * (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" { (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;) (break_statement "break;" break ;) })) })) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" * (cast_expression "(code **)(pcStack_560 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x61dc)" ( (binary_expression "pcStack_560 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar31,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x626c)" * (pointer_expression "*(code **)(pcStack_560 + -0x626c)" * (cast_expression "(code **)(pcStack_560 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x626c)" ( (binary_expression "pcStack_560 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(auStack_4bc)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_560 + -0x602c)" * (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar31,auStack_4bc)" ( number_literal , identifier , identifier ))) ;) (labeled_statement "LAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);" statement_identifier : (expression_statement "piVar44 = (int *)(*piVar45 + (int)piVar44);" (assignment_expression "piVar44 = (int *)(*piVar45 + (int)piVar44)" identifier = (cast_expression "(int *)(*piVar45 + (int)piVar44)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar45 + (int)piVar44)" ( (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" * identifier) + (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) (expression_statement "iVar20 = *piVar44;" (assignment_expression "iVar20 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) ;) (if_statement "if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" if (parenthesized_expression "((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4))" ( (binary_expression "(iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)" (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar20 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar20 + 0xc) == 4" (pointer_expression "*(int *)(iVar20 + 0xc)" * (cast_expression "(int *)(iVar20 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0xc)" ( (binary_expression "iVar20 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" { (expression_statement "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" * (cast_expression "(uint *)(iVar20 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x10)" ( (binary_expression "iVar20 + 0x10" identifier + number_literal) )))) | number_literal)) ;) })) (labeled_statement "LAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x602c)" * (cast_expression "(code **)(pcStack_560 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x602c)" ( (binary_expression "pcStack_560 + -0x602c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);" statement_identifier : (expression_statement "(*pcVar7)(3,auStack_4bc,0);" (call_expression "(*pcVar7)(3,auStack_4bc,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,auStack_4bc,0)" ( number_literal , identifier , number_literal ))) ;)) (if_statement "if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_43c == *piStack_548)" ( (binary_expression "iStack_43c == *piStack_548" identifier == (pointer_expression "*piStack_548" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x60b8)" identifier = (pointer_expression "*(code **)(pcStack_560 + -0x60b8)" * (cast_expression "(code **)(pcStack_560 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_560 + -0x60b8)" ( (binary_expression "pcStack_560 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = wait_for_any_job;" (assignment_expression "pcVar8 = wait_for_any_job" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_6b0 = pcVar7 + 0xe1290;" (assignment_expression "pcStack_6b0 = pcVar7 + 0xe1290" identifier = (binary_expression "pcVar7 + 0xe1290" identifier + number_literal)) ;) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xd9ea4);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xd9ea4)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9ea4)" * (cast_expression "(int *)(pcVar7 + 0xd9ea4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9ea4)" ( (binary_expression "pcVar7 + 0xd9ea4" identifier + number_literal) ))))) ;) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xdb22c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xdb22c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb22c)" ( (binary_expression "pcVar7 + 0xdb22c" identifier + number_literal) ))))) ;) (expression_statement "uStack_58c = 0xffffffff;" (assignment_expression "uStack_58c = 0xffffffff" identifier = number_literal) ;) (expression_statement "piStack_59c = (int *)*puVar42;" (assignment_expression "piStack_59c = (int *)*puVar42" identifier = (cast_expression "(int *)*puVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar42" * identifier))) ;) (expression_statement "puStack_598 = puVar31;" (assignment_expression "puStack_598 = puVar31" identifier = identifier) ;) (expression_statement "puStack_594 = auStack_4bc;" (assignment_expression "puStack_594 = auStack_4bc" identifier = identifier) ;) (expression_statement "puStack_590 = puVar12;" (assignment_expression "puStack_590 = puVar12" identifier = identifier) ;) (expression_statement "piStack_588 = piVar21;" (assignment_expression "piStack_588 = piVar21" identifier = identifier) ;) (expression_statement "iStack_584 = iVar5;" (assignment_expression "iStack_584 = iVar5" identifier = identifier) ;) (expression_statement "piStack_580 = piVar29;" (assignment_expression "piStack_580 = piVar29" identifier = identifier) ;) (expression_statement "piStack_57c = piVar44;" (assignment_expression "piStack_57c = piVar44" identifier = identifier) ;) (expression_statement "piStack_578 = piVar45;" (assignment_expression "piStack_578 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_574 = pcVar8;" (assignment_expression "pcStack_574 = pcVar8" identifier = identifier) ;) (if_statement "if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" if (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" ( (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" * (cast_expression "(int *)(iVar20 + -0x705c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + -0x705c)" ( (binary_expression "iVar20 + -0x705c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" { (expression_statement "puVar13 = auStack_69c;" (assignment_expression "puVar13 = auStack_69c" identifier = identifier) ;) (expression_statement "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);" (assignment_expression "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8)" identifier = (pointer_expression "*(undefined1 **)(pcVar7 + 0xd9ba8)" * (cast_expression "(undefined1 **)(pcVar7 + 0xd9ba8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9ba8)" ( (binary_expression "pcVar7 + 0xd9ba8" identifier + number_literal) ))))) ;) (expression_statement "puVar31 = auStack_61c;" (assignment_expression "puVar31 = auStack_61c" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdb024))(puVar13);" (call_expression "(**(code **)(pcVar7 + 0xdb024))(puVar13)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb024))" ( (pointer_expression "**(code **)(pcVar7 + 0xdb024)" * (pointer_expression "*(code **)(pcVar7 + 0xdb024)" * (cast_expression "(code **)(pcVar7 + 0xdb024)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdb024)" ( (binary_expression "pcVar7 + 0xdb024" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" if (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" ( (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" number_literal < (cast_expression "(int)*(int **)(puVar12 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" { (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4)" identifier = (cast_expression "(int *)**(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcStack_6b0 + -0x76e4)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))))) ;) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" identifier = identifier) ;) (do_statement "do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));" do (compound_statement "{\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      }" { (expression_statement "iVar5 = *piVar44;" (assignment_expression "iVar5 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) ;) (if_statement "if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;" if (parenthesized_expression "(((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))" ( (binary_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4))" ( (binary_expression "(iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)" (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) && (parenthesized_expression "(*(int *)(iVar5 + 0xc) == 4)" ( (binary_expression "*(int *)(iVar5 + 0xc) == 4" (pointer_expression "*(int *)(iVar5 + 0xc)" * (cast_expression "(int *)(iVar5 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0xc)" ( (binary_expression "iVar5 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) && (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 2) == 0)" ( (binary_expression "(*(uint *)(iVar5 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 2)" ( (binary_expression "*(uint *)(iVar5 + 0x10) & 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" identifier = (cast_expression "(int *)((int)piVar45 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar45 + 1)" ( (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar45 != *(int **)(puVar12 + 0x18))" ( (binary_expression "piVar45 != *(int **)(puVar12 + 0x18)" identifier != (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) ))))) )) ;) })) (expression_statement "piVar21 = *(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar21 = *(int **)(pcStack_6b0 + -0x76e4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" * (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x76e4)" ( (binary_expression "pcStack_6b0 + -0x76e4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);" (assignment_expression "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d0c)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d0c)" ( (binary_expression "pcStack_6b0 + -0x7d0c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "piVar45 = *(int **)(pcStack_6b0 + -0x7550);" (assignment_expression "piVar45 = *(int **)(pcStack_6b0 + -0x7550)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7550)" * (cast_expression "(int **)(pcStack_6b0 + -0x7550)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7550)" ( (binary_expression "pcStack_6b0 + -0x7550" identifier + number_literal) ))))) ;) (expression_statement "piVar29 = *(int **)(pcStack_6b0 + -0x7d04);" (assignment_expression "piVar29 = *(int **)(pcStack_6b0 + -0x7d04)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x7d04)" * (cast_expression "(int **)(pcStack_6b0 + -0x7d04)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d04)" ( (binary_expression "pcStack_6b0 + -0x7d04" identifier + number_literal) ))))) ;) (expression_statement "pcStack_6a4 = (code *)(piVar45 + 0x1398);" (assignment_expression "pcStack_6a4 = (code *)(piVar45 + 0x1398)" identifier = (cast_expression "(code *)(piVar45 + 0x1398)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar45 + 0x1398)" ( (binary_expression "piVar45 + 0x1398" identifier + number_literal) )))) ;) (do_statement "do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );" do (compound_statement "{\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar13);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar5 = *(int *)(puVar12 + 0x18);" (assignment_expression "iVar5 = *(int *)(puVar12 + 0x18)" identifier = (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" if (parenthesized_expression "(iVar5 < 1)" ( (binary_expression "iVar5 < 1" identifier < number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" { (labeled_statement "LAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" statement_identifier : (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;)) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_0006b430;" goto statement_identifier ;) })) }) (else_clause "else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" else (compound_statement "{\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" { (expression_statement "piVar44 = (int *)*piVar21;" (assignment_expression "piVar44 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" identifier = number_literal) ;) (while_statement "while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" while (parenthesized_expression "(((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)))" ( (parenthesized_expression "((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))" ( (binary_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1))" ( (comma_expression "iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (assignment_expression "iVar41 = *piVar44" identifier = (pointer_expression "*piVar44" * identifier)) , (binary_expression "iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (binary_expression "iVar41 == 0" identifier == number_literal) || (parenthesized_expression "(*(int *)(iVar41 + 0xc) != 1)" ( (binary_expression "*(int *)(iVar41 + 0xc) != 1" (pointer_expression "*(int *)(iVar41 + 0xc)" * (cast_expression "(int *)(iVar41 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0xc)" ( (binary_expression "iVar41 + 0xc" identifier + number_literal) )))) != number_literal) )))) )) || (parenthesized_expression "((*(uint *)(iVar41 + 0x10) & 1) != 0)" ( (binary_expression "(*(uint *)(iVar41 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar41 + 0x10) & 1)" ( (binary_expression "*(uint *)(iVar41 + 0x10) & 1" (pointer_expression "*(uint *)(iVar41 + 0x10)" * (cast_expression "(uint *)(iVar41 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar41 + 0x10)" ( (binary_expression "iVar41 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) ))) )) )) (compound_statement "{\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" { (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) (if_statement "if (iVar9 == iVar5) goto LAB_0006b680;" if (parenthesized_expression "(iVar9 == iVar5)" ( (binary_expression "iVar9 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006b680;" goto statement_identifier ;)) })) (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) ;) }))) (expression_statement "(*pcVar7)(3,puVar31,0);" (call_expression "(*pcVar7)(3,puVar31,0)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) (if_statement "if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" if (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (if_statement "if (*piVar29 == 0) goto LAB_0006b564;" if (parenthesized_expression "(*piVar29 == 0)" ( (binary_expression "*piVar29 == 0" (pointer_expression "*piVar29" * identifier) == number_literal) )) (goto_statement "goto LAB_0006b564;" goto statement_identifier ;)) (labeled_statement "LAB_0006b6f0:\n        (*pcVar7)();" statement_identifier : (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;)) (if_statement "if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b708;" goto statement_identifier ;) })) }) (else_clause "else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" else (compound_statement "{\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" { (expression_statement "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);" (call_expression "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x7d08))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x7d08)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) )) (argument_list "(*piVar43)" ( (pointer_expression "*piVar43" * identifier) ))) ;) (if_statement "if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" if (parenthesized_expression "(*piVar29 != 0)" ( (binary_expression "*piVar29 != 0" (pointer_expression "*piVar29" * identifier) != number_literal) )) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -32000)" * (cast_expression "(code **)(pcStack_6b0 + -32000)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -32000)" ( (binary_expression "pcStack_6b0 + -32000" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_0006b6f0;" goto statement_identifier ;) })) (labeled_statement "LAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" * (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7d08)" ( (binary_expression "pcStack_6b0 + -0x7d08" identifier + number_literal) ))))) ;)) (if_statement "if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (compound_statement "{\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" { (labeled_statement "LAB_0006b708:\n          (*pcVar7)(*piVar43);" statement_identifier : (expression_statement "(*pcVar7)(*piVar43);" (call_expression "(*pcVar7)(*piVar43)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(*piVar43)" ( (pointer_expression "*piVar43" * identifier) ))) ;)) })) }))) (if_statement "if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73d8) == 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73d8) == 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73d8)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73d8)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d8)" ( (binary_expression "pcStack_6b0 + -0x73d8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }" { (labeled_statement "LAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;)) }) (else_clause "else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" else (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" * (cast_expression "(code **)(pcStack_6b0 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x6204)" ( (binary_expression "pcStack_6b0 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73dc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x73dc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73dc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x73dc)" * (cast_expression "(int **)(pcStack_6b0 + -0x73dc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73dc)" ( (binary_expression "pcStack_6b0 + -0x73dc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" { (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != 0)" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" { (expression_statement "piVar44 = *(int **)(pcStack_6b0 + -0x73d4);" (assignment_expression "piVar44 = *(int **)(pcStack_6b0 + -0x73d4)" identifier = (pointer_expression "*(int **)(pcStack_6b0 + -0x73d4)" * (cast_expression "(int **)(pcStack_6b0 + -0x73d4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x73d4)" ( (binary_expression "pcStack_6b0 + -0x73d4" identifier + number_literal) ))))) ;) (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;) (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;" if (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))" ( (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0)" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" * (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" * (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x7abc)" ( (binary_expression "pcStack_6b0 + -0x7abc" identifier + number_literal) ))))) != (pointer_expression "*(int *)(pcStack_6b0 + -0x73f0)" * (cast_expression "(int *)(pcStack_6b0 + -0x73f0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_6b0 + -0x73f0)" ( (binary_expression "pcStack_6b0 + -0x73f0" identifier + number_literal) ))))) )) (goto_statement "goto LAB_0006b5a4;" goto statement_identifier ;)) (goto_statement "goto LAB_0006b730;" goto statement_identifier ;) })) })) }))) (expression_statement "piVar45 = (int *)(*pcVar7)();" (assignment_expression "piVar45 = (int *)(*pcVar7)()" identifier = (cast_expression "(int *)(*pcVar7)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar45 = 0;" (assignment_expression "*piVar45 = 0" (pointer_expression "*piVar45" * identifier) = number_literal) ;) (expression_statement "iVar5 = wait_for(0xffffffff);" (assignment_expression "iVar5 = wait_for(0xffffffff)" identifier = (call_expression "wait_for(0xffffffff)" identifier (argument_list "(0xffffffff)" ( number_literal )))) ;) (if_statement "if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }" { (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;) (if_statement "if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" if (parenthesized_expression "((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0))" ( (binary_expression "(*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(*piVar45 == 10)" ( (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" * identifier) == number_literal) )) && (parenthesized_expression "(*(int *)(puVar12 + 0x18) != 0)" ( (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" * (cast_expression "(int *)(puVar12 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" { (expression_statement "(*pcStack_6a4)();" (call_expression "(*pcStack_6a4)()" (parenthesized_expression "(*pcStack_6a4)" ( (pointer_expression "*pcStack_6a4" * identifier) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_0006b5d4;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" else (compound_statement "{\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" { (labeled_statement "LAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" identifier = (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) ;)) }))) (expression_statement "(*pcVar7)(puVar13);" (call_expression "(*pcVar7)(puVar13)" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "(puVar13)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" * (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x61dc)" ( (binary_expression "pcStack_6b0 + -0x61dc" identifier + number_literal) ))))) )) (argument_list "(puVar13,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" * (cast_expression "(code **)(pcStack_6b0 + -0x626c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x626c)" ( (binary_expression "pcStack_6b0 + -0x626c" identifier + number_literal) ))))) )) (argument_list "(puVar31)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(1,puVar13,puVar31)" ( number_literal , identifier , identifier ))) ;) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" if (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" ( (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" number_literal < (cast_expression "(int)*(int **)(puVar12 + 0x18)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))))) )) (compound_statement "{\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" { (expression_statement "piVar26 = (int *)*piVar21;" (assignment_expression "piVar26 = (int *)*piVar21" identifier = (cast_expression "(int *)*piVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier))) ;) (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" identifier = identifier) ;) (do_statement "do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);" do (compound_statement "{\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        }" { (if_statement "if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;" if (parenthesized_expression "((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4))" ( (binary_expression "(*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)" (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) && (parenthesized_expression "(*(int *)(*piVar44 + 0xc) == 4)" ( (binary_expression "*(int *)(*piVar44 + 0xc) == 4" (pointer_expression "*(int *)(*piVar44 + 0xc)" * (cast_expression "(int *)(*piVar44 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar44 + 0xc)" ( (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" * identifier) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_0006b3b8;" goto statement_identifier ;)) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" identifier = (cast_expression "(int *)((int)piVar45 + 1)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar45 + 1)" ( (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" identifier = (binary_expression "piVar44 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(int **)(puVar12 + 0x18) != piVar45)" ( (binary_expression "*(int **)(puVar12 + 0x18) != piVar45" (pointer_expression "*(int **)(puVar12 + 0x18)" * (cast_expression "(int **)(puVar12 + 0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar12 + 0x18)" ( (binary_expression "puVar12 + 0x18" identifier + number_literal) )))) != identifier) )) ;) })) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" * (cast_expression "(code **)(pcStack_6b0 + -0x602c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x602c)" ( (binary_expression "pcStack_6b0 + -0x602c" identifier + number_literal) ))))) )) (argument_list "(3,puVar31,0)" ( number_literal , identifier , number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_0006b430:\n  pcVar7 = pcStack_6b0;" statement_identifier : (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" identifier = identifier) ;)) (if_statement "if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }" if (parenthesized_expression "(piStack_59c == (int *)*puVar42)" ( (binary_expression "piStack_59c == (int *)*puVar42" identifier == (cast_expression "(int *)*puVar42" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar42" * identifier))) )) (compound_statement "{\n    return puVar13;\n  }" { (return_statement "return puVar13;" return identifier ;) })) (expression_statement "piVar44 = piStack_59c;" (assignment_expression "piVar44 = piStack_59c" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_6b0 + -0x60b8))();" (call_expression "(**(code **)(pcStack_6b0 + -0x60b8))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x60b8))" ( (pointer_expression "**(code **)(pcStack_6b0 + -0x60b8)" * (pointer_expression "*(code **)(pcStack_6b0 + -0x60b8)" * (cast_expression "(code **)(pcStack_6b0 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_6b0 + -0x60b8)" ( (binary_expression "pcStack_6b0 + -0x60b8" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (labeled_statement "LAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);" statement_identifier : (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x625c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x625c)" identifier = (pointer_expression "*(code **)(pcVar7 + -0x625c)" * (cast_expression "(code **)(pcVar7 + -0x625c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + -0x625c)" ( (binary_expression "pcVar7 + -0x625c" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = start_job;" (assignment_expression "pcVar8 = start_job" identifier = identifier) ;) (expression_statement "puVar22 = (undefined4 *)0x1;" (assignment_expression "puVar22 = (undefined4 *)0x1" identifier = (cast_expression "(undefined4 *)0x1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar26 = *(int **)(pcVar7 + 0xdada0);" (assignment_expression "piVar26 = *(int **)(pcVar7 + 0xdada0)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xdada0)" * (cast_expression "(int **)(pcVar7 + 0xdada0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdada0)" ( (binary_expression "pcVar7 + 0xdada0" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (int)piVar44 * 4;" (assignment_expression "iVar5 = (int)piVar44 * 4" identifier = (binary_expression "(int)piVar44 * 4" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "iStack_6ec = *piVar26;" (assignment_expression "iStack_6ec = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd9720);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd9720)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9720)" * (cast_expression "(int **)(pcVar7 + 0xd9720)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9720)" ( (binary_expression "pcVar7 + 0xd9720" identifier + number_literal) ))))) ;) (expression_statement "puStack_6e8 = puVar31;" (assignment_expression "puStack_6e8 = puVar31" identifier = identifier) ;) (expression_statement "puStack_6e4 = puVar13;" (assignment_expression "puStack_6e4 = puVar13" identifier = identifier) ;) (expression_statement "puStack_6e0 = puVar12;" (assignment_expression "puStack_6e0 = puVar12" identifier = identifier) ;) (expression_statement "piStack_6dc = piVar43;" (assignment_expression "piStack_6dc = piVar43" identifier = identifier) ;) (expression_statement "piStack_6d8 = piVar21;" (assignment_expression "piStack_6d8 = piVar21" identifier = identifier) ;) (expression_statement "puStack_6d4 = puVar42;" (assignment_expression "puStack_6d4 = puVar42" identifier = identifier) ;) (expression_statement "piStack_6d0 = piVar29;" (assignment_expression "piStack_6d0 = piVar29" identifier = identifier) ;) (expression_statement "iStack_6cc = iVar20;" (assignment_expression "iStack_6cc = iVar20" identifier = identifier) ;) (expression_statement "piStack_6c8 = piVar45;" (assignment_expression "piStack_6c8 = piVar45" identifier = identifier) ;) (expression_statement "pcStack_6c4 = pcVar8;" (assignment_expression "pcStack_6c4 = pcVar8" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);" (call_expression "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac28))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac28)" * (pointer_expression "*(code **)(pcVar7 + 0xdac28)" * (cast_expression "(code **)(pcVar7 + 0xdac28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac28)" ( (binary_expression "pcVar7 + 0xdac28" identifier + number_literal) ))))) )) (argument_list "(auStack_7ec,0x12)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" ( (pointer_expression "**(code **)(pcVar7 + 0xdab98)" * (pointer_expression "*(code **)(pcVar7 + 0xdab98)" * (cast_expression "(code **)(pcVar7 + 0xdab98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdab98)" ( (binary_expression "pcVar7 + 0xdab98" identifier + number_literal) ))))) )) (argument_list "(auStack_76c)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(1,auStack_7ec,auStack_76c)" ( number_literal , identifier , identifier ))) ;) (expression_statement "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);" (assignment_expression "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" * (cast_expression "(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0xc)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0xc" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) ))))) ;) (if_statement "if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(iVar20 == 4)" ( (binary_expression "iVar20 == 4" identifier == number_literal) )) (compound_statement "{\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (expression_statement "puVar12 = (undefined1 *)0xffffffff;" (assignment_expression "puVar12 = (undefined1 *)0xffffffff" identifier = (cast_expression "(undefined1 *)0xffffffff" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" identifier (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" else (if_statement "if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" { (if_statement "if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" if (parenthesized_expression "(iVar20 != 1)" ( (binary_expression "iVar20 != 1" identifier != number_literal) )) (compound_statement "{\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" { (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" identifier = (call_expression "FUN_000649c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "iVar41 = **(int **)(pcVar7 + 0xd8e50);" (assignment_expression "iVar41 = **(int **)(pcVar7 + 0xd8e50)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd8e50)" * (pointer_expression "*(int **)(pcVar7 + 0xd8e50)" * (cast_expression "(int **)(pcVar7 + 0xd8e50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8e50)" ( (binary_expression "pcVar7 + 0xd8e50" identifier + number_literal) )))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal)) ;) (if_statement "if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" if (parenthesized_expression "(iVar41 == 0)" ( (binary_expression "iVar41 == 0" identifier == number_literal) )) (compound_statement "{\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x2c)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x2c" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) == identifier) )) (compound_statement "{\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }" { (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7144" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" else (compound_statement "{\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" { (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;" if (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44)" ( (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" * (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x30)" ( (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x30" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" * (cast_expression "(int *)(pcVar7 + 0xd971c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd971c)" ( (binary_expression "pcVar7 + 0xd971c" identifier + number_literal) )))) + number_literal) )))) != identifier) )) (goto_statement "goto LAB_0006b860;" goto statement_identifier ;)) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d98" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" else (compound_statement "{\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" { (labeled_statement "LAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" statement_identifier : (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04" identifier = (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b04" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal)) ;)) }))) (expression_statement "piVar43 = *(int **)(iVar9 + 4);" (assignment_expression "piVar43 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , identifier ))) ;) (expression_statement "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);" (assignment_expression "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4)" identifier = (pointer_expression "*(int **)(*(int *)(*piVar36 + iVar5) + 4)" * (cast_expression "(int **)(*(int *)(*piVar36 + iVar5) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 4)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 4" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_0006b898;" goto statement_identifier ;) })) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" * (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" * (cast_expression "(code **)(pcVar7 + 0xdad5c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad5c)" ( (binary_expression "pcVar7 + 0xdad5c" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7db4" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" identifier (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" ( identifier , (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" * (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8fec)" ( (binary_expression "pcVar7 + 0xd8fec" identifier + number_literal) ))))) , (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ;) (labeled_statement "LAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;" statement_identifier : (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) }) (else_clause "else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" else (compound_statement "{\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" { (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" identifier = (call_expression "FUN_000649c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (expression_statement "FUN_00064368(piVar44);" (call_expression "FUN_00064368(piVar44)" identifier (argument_list "(piVar44)" ( identifier ))) ;) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" identifier = identifier) ;) (labeled_statement "LAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);" statement_identifier : (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;)) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd8e70);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd8e70)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e70)" * (cast_expression "(int *)(pcVar7 + 0xd8e70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e70)" ( (binary_expression "pcVar7 + 0xd8e70" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar16 = *(int *)(pcVar7 + 0xd8e3c)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);" do (compound_statement "{\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    }" { (expression_statement "iVar24 = piVar43[4];" (assignment_expression "iVar24 = piVar43[4]" identifier = (subscript_expression "piVar43[4]" identifier [ number_literal ])) ;) (if_statement "if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "(piVar43[4] == 0)" ( (binary_expression "piVar43[4] == 0" (subscript_expression "piVar43[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        iVar24 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar24 = iVar9 + -0x6800;" (assignment_expression "iVar24 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "iVar27 = iVar16 + 0x6720;" (assignment_expression "iVar27 = iVar16 + 0x6720" identifier = (binary_expression "iVar16 + 0x6720" identifier + number_literal)) ;) (if_statement "if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }" if (parenthesized_expression "((int *)*piVar43 == piVar21)" ( (binary_expression "(int *)*piVar43 == piVar21" (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier)) == identifier) )) (compound_statement "{\n        iVar27 = iVar9 + -0x6800;\n      }" { (expression_statement "iVar27 = iVar9 + -0x6800;" (assignment_expression "iVar27 = iVar9 + -0x6800" identifier = (binary_expression "iVar9 + -0x6800" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,iVar41 + 0x6298,iVar24,iVar27)" ( number_literal , (binary_expression "iVar41 + 0x6298" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" identifier = (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier))) ;) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" * (cast_expression "(undefined4 **)(*piVar36 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = (int *)puVar42[1];" (assignment_expression "piVar21 = (int *)puVar42[1]" identifier = (cast_expression "(int *)puVar42[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar42[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(piVar21 != piVar43)" ( (binary_expression "piVar21 != piVar43" identifier != identifier) )) ;) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b74" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" identifier = (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" * (cast_expression "(undefined4 **)(*piVar36 + iVar5)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) })) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" identifier = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);" (assignment_expression "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdae0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xdae0c)" * (pointer_expression "*(code **)(pcVar7 + 0xdae0c)" * (cast_expression "(code **)(pcVar7 + 0xdae0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdae0c)" ( (binary_expression "pcVar7 + 0xdae0c" identifier + number_literal) ))))) )) (argument_list "(uStack_7f4,uVar30)" ( identifier , identifier )))) ;) (if_statement "if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" if (parenthesized_expression "(iVar9 != 0)" ( (binary_expression "iVar9 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd9234))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd9234))" ( (pointer_expression "**(code **)(pcVar7 + 0xd9234)" * (pointer_expression "*(code **)(pcVar7 + 0xd9234)" * (cast_expression "(code **)(pcVar7 + 0xd9234)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9234)" ( (binary_expression "pcVar7 + 0xd9234" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" ( (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" * (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" * (cast_expression "(code **)(pcVar7 + 0xdabb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdabb0)" ( (binary_expression "pcVar7 + 0xdabb0" identifier + number_literal) ))))) )) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7de0" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" * (cast_expression "(int *)(pcVar7 + 0xd8e3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e3c)" ( (binary_expression "pcVar7 + 0xd8e3c" identifier + number_literal) )))) + number_literal) , identifier ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xdac04))(10);" (call_expression "(**(code **)(pcVar7 + 0xdac04))(10)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac04))" ( (pointer_expression "**(code **)(pcVar7 + 0xdac04)" * (pointer_expression "*(code **)(pcVar7 + 0xdac04)" * (cast_expression "(code **)(pcVar7 + 0xdac04)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdac04)" ( (binary_expression "pcVar7 + 0xdac04" identifier + number_literal) ))))) )) (argument_list "(10)" ( number_literal ))) ;) (if_statement "if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (compound_statement "{\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }" { (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" { (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) = (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" * (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" ( (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) )))) + number_literal) )))) & number_literal)) ;) (goto_statement "goto LAB_0006b9c8;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" identifier = (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" identifier = identifier) ;) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" identifier = identifier) ;) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" do (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" ( (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" identifier != (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) != 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_0006bce0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" else (compound_statement "{\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" { (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" identifier = (pointer_expression "*(int *)(*piVar36 + iVar5)" * (cast_expression "(int *)(*piVar36 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar36 + iVar5)" ( (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" * identifier) + identifier) ))))) ;) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" identifier = (pointer_expression "*(int **)(iVar9 + 4)" * (cast_expression "(int **)(iVar9 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" identifier = identifier) ;) (do_statement "do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);" do (compound_statement "{\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      }" { (if_statement "if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }" if (parenthesized_expression "(*(char *)((int)piVar43 + 0xb) == '\x7f')" ( (binary_expression "*(char *)((int)piVar43 + 0xb) == '\x7f'" (pointer_expression "*(char *)((int)piVar43 + 0xb)" * (cast_expression "(char *)((int)piVar43 + 0xb)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar43 + 0xb)" ( (binary_expression "(int)piVar43 + 0xb" (cast_expression "(int)piVar43" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\x7f'" ' escape_sequence ')) )) (compound_statement "{\n          piVar43[3] = 1;\n        }" { (expression_statement "piVar43[3] = 1;" (assignment_expression "piVar43[3] = 1" (subscript_expression "piVar43[3]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" identifier = (cast_expression "(int *)*piVar43" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar43" * identifier))) ;) }) while (parenthesized_expression "(piVar21 != piVar43)" ( (binary_expression "piVar21 != piVar43" identifier != identifier) )) ;) (expression_statement "*(undefined4 *)(iVar9 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar9 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" * (cast_expression "(undefined4 *)(iVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" if (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" ( (binary_expression "puVar22 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar9 + 8),0x19)" ( (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;) (labeled_statement "LAB_0006b9c8:\n        FUN_00064490();" statement_identifier : (expression_statement "FUN_00064490();" (call_expression "FUN_00064490()" identifier (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_0006b9dc;" goto statement_identifier ;) })) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" * (cast_expression "(int *)(pcVar7 + 0xd9a18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd9a18)" ( (binary_expression "pcVar7 + 0xd9a18" identifier + number_literal) ))))) ;) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" identifier = (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70d0)" ( (binary_expression "iVar9 + -0x70d0" identifier + number_literal) )))) ;) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" ( (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" * (cast_expression "(int *)(pcVar7 + 0xd8e2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd8e2c)" ( (binary_expression "pcVar7 + 0xd8e2c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" identifier = identifier) ;) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" identifier = identifier) ;) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" do (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" identifier = (binary_expression "puVar17 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" ( (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" identifier != (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + -0x70a0)" ( (binary_expression "iVar9 + -0x70a0" identifier + number_literal) )))) )) ;) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" identifier = (pointer_expression "*(int *)(iVar9 + iVar5)" * (cast_expression "(int *)(iVar9 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + iVar5)" ( (binary_expression "iVar9 + iVar5" identifier + identifier) ))))) ;) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" if (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) == 0)" ( (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" ( (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" * (cast_expression "(uint *)(iVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        iVar20 = *piVar36;\n      }" { (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }) (else_clause "else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" else (compound_statement "{\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" { (labeled_statement "LAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" statement_identifier : (expression_statement "give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" (call_expression "give_terminal_to(*(undefined4 *)(iVar9 + 8),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 8),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 8)" * (cast_expression "(undefined4 *)(iVar9 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 8)" ( (binary_expression "iVar9 + 8" identifier + number_literal) )))) , number_literal ))) ;)) (if_statement "if (iVar20 == 1) goto LAB_0006bbc8;" if (parenthesized_expression "(iVar20 == 1)" ( (binary_expression "iVar20 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0006bbc8;" goto statement_identifier ;)) (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad38)" * (cast_expression "(code **)(pcVar7 + 0xdad38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad38)" ( (binary_expression "pcVar7 + 0xdad38" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar20 + iVar5);" (assignment_expression "iVar5 = *(int *)(iVar20 + iVar5)" identifier = (pointer_expression "*(int *)(iVar20 + iVar5)" * (cast_expression "(int *)(iVar20 + iVar5)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + iVar5)" ( (binary_expression "iVar20 + iVar5" identifier + identifier) ))))) ;) (expression_statement "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) = (binary_expression "*(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" * (cast_expression "(uint *)(iVar5 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x10)" ( (binary_expression "iVar5 + 0x10" identifier + number_literal) )))) | number_literal)) ;) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*(undefined4 *)(iVar5 + 8),0x19)" ( (pointer_expression "*(undefined4 *)(iVar5 + 8)" * (cast_expression "(undefined4 *)(iVar5 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 8)" ( (binary_expression "iVar5 + 8" identifier + number_literal) )))) , number_literal ))) ;) }))) (labeled_statement "LAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);" statement_identifier : (expression_statement "iVar5 = FUN_00065a6c(piVar44);" (assignment_expression "iVar5 = FUN_00065a6c(piVar44)" identifier = (call_expression "FUN_00065a6c(piVar44)" identifier (argument_list "(piVar44)" ( identifier )))) ;)) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" identifier = (pointer_expression "*(undefined4 *)(iVar5 + 4)" * (cast_expression "(undefined4 *)(iVar5 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 4)" ( (binary_expression "iVar5 + 4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" ( (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" * (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" * (cast_expression "(code **)(pcVar7 + 0xdadd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdadd8)" ( (binary_expression "pcVar7 + 0xdadd8" identifier + number_literal) ))))) )) (argument_list "(3,auStack_76c,0)" ( number_literal , identifier , number_literal ))) ;) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar30);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar30)" identifier = (cast_expression "(undefined1 *)wait_for(uVar30)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "wait_for(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))))) ;) (expression_statement "puVar42 = puVar32;" (assignment_expression "puVar42 = puVar32" identifier = identifier) ;) (do_statement "do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);" do (compound_statement "{\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    }" { (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" identifier = (binary_expression "puVar42 + 4" identifier + number_literal)) ;) (expression_statement "puVar17 = puVar37 + 4;" (assignment_expression "puVar17 = puVar37 + 4" identifier = (binary_expression "puVar37 + 4" identifier + number_literal)) ;) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" identifier = (subscript_expression "puVar42[1]" identifier [ number_literal ])) ;) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" identifier = (subscript_expression "puVar42[2]" identifier [ number_literal ])) ;) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" identifier = (subscript_expression "puVar42[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar37 = *puVar42;" (assignment_expression "*puVar37 = *puVar42" (pointer_expression "*puVar37" * identifier) = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "puVar37[1] = uVar25;" (assignment_expression "puVar37[1] = uVar25" (subscript_expression "puVar37[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37[2] = uVar23;" (assignment_expression "puVar37[2] = uVar23" (subscript_expression "puVar37[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37[3] = uVar30;" (assignment_expression "puVar37[3] = uVar30" (subscript_expression "puVar37[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar37 = puVar17;" (assignment_expression "puVar37 = puVar17" identifier = identifier) ;) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" identifier = identifier) ;) }) while (parenthesized_expression "(puVar14 != puVar32 + 0xc)" ( (binary_expression "puVar14 != puVar32 + 0xc" identifier != (binary_expression "puVar32 + 0xc" identifier + number_literal)) )) ;) (expression_statement "*puVar17 = *puVar14;" (assignment_expression "*puVar17 = *puVar14" (pointer_expression "*puVar17" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "set_tty_state();" (call_expression "set_tty_state()" identifier (argument_list "()" ( ))) ;) }))))) (if_statement "if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }" if (parenthesized_expression "(iStack_6ec == *piVar26)" ( (binary_expression "iStack_6ec == *piVar26" identifier == (pointer_expression "*piVar26" * identifier)) )) (compound_statement "{\n    return puVar12;\n  }" { (return_statement "return puVar12;" return identifier ;) })) (expression_statement "pcVar7 = *(code **)(pcVar7 + 0xdad4c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + 0xdad4c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xdad4c)" * (cast_expression "(code **)(pcVar7 + 0xdad4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xdad4c)" ( (binary_expression "pcVar7 + 0xdad4c" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = iStack_6ec;" (assignment_expression "iVar5 = iStack_6ec" identifier = identifier) ;) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" ( (pointer_expression "*pcVar7" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd8b10);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd8b10)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b10)" * (cast_expression "(int **)(pcVar7 + 0xd8b10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b10)" ( (binary_expression "pcVar7 + 0xd8b10" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = (**(code **)(pcVar7 + 0xda6dc))();" (assignment_expression "iVar20 = (**(code **)(pcVar7 + 0xda6dc))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6dc))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6dc)" * (cast_expression "(code **)(pcVar7 + 0xda6dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6dc)" ( (binary_expression "pcVar7 + 0xda6dc" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "*piVar43 = iVar20;" (assignment_expression "*piVar43 = iVar20" (pointer_expression "*piVar43" * identifier) = identifier) ;) (if_statement "if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" if (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7dec" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda620))(1);" (call_expression "(**(code **)(pcVar7 + 0xda620))(1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda620))" ( (pointer_expression "**(code **)(pcVar7 + 0xda620)" * (pointer_expression "*(code **)(pcVar7 + 0xda620)" * (cast_expression "(code **)(pcVar7 + 0xda620)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda620)" ( (binary_expression "pcVar7 + 0xda620" identifier + number_literal) ))))) )) (argument_list "(1)" ( number_literal ))) ;) (labeled_statement "LAB_0006c3c8:\n    uVar30 = *puVar22;" statement_identifier : (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;)) (labeled_statement "LAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" statement_identifier : (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;)) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda780))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda780))" ( (pointer_expression "**(code **)(pcVar7 + 0xda780)" * (pointer_expression "*(code **)(pcVar7 + 0xda780)" * (cast_expression "(code **)(pcVar7 + 0xda780)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda780)" ( (binary_expression "pcVar7 + 0xda780" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (if_statement "if (iVar5 != -1) goto LAB_0006bf80;" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (goto_statement "goto LAB_0006bf80;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar43 == 0) goto LAB_0006bf08;" if (parenthesized_expression "(*piVar43 == 0)" ( (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" * identifier) == number_literal) )) (goto_statement "goto LAB_0006bf08;" goto statement_identifier ;)) (labeled_statement "LAB_0006be5c:\n    iVar5 = *piVar36;" statement_identifier : (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;)) }) (else_clause "else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" else (compound_statement "{\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" { (expression_statement "piVar44 = *(int **)(pcVar7 + 0xd87f4);" (assignment_expression "piVar44 = *(int **)(pcVar7 + 0xd87f4)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd87f4)" * (cast_expression "(int **)(pcVar7 + 0xd87f4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87f4)" ( (binary_expression "pcVar7 + 0xd87f4" identifier + number_literal) ))))) ;) (expression_statement "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);" (assignment_expression "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xda77c)" * (cast_expression "(undefined4 **)(pcVar7 + 0xda77c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda77c)" ( (binary_expression "pcVar7 + 0xda77c" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (if_statement "if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar5 == 0 && *piVar44 == 0)" ( (binary_expression "iVar5 == 0 && *piVar44 == 0" (binary_expression "iVar5 == 0" identifier == number_literal) && (binary_expression "*piVar44 == 0" (pointer_expression "*piVar44" * identifier) == number_literal)) )) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(undefined4 **)(pcVar7 + 0xd9070)" * (cast_expression "(undefined4 **)(pcVar7 + 0xd9070)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (expression_statement "*puVar42 = 0xffffffff;" (assignment_expression "*puVar42 = 0xffffffff" (pointer_expression "*puVar42" * identifier) = number_literal) ;) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" identifier = (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar30)" ( identifier )))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)(iVar5);" (assignment_expression "iVar5 = (*pcVar8)(iVar5)" identifier = (call_expression "(*pcVar8)(iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "**(int **)(pcVar7 + 0xd9434) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9434) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9434)" * (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" * (cast_expression "(int **)(pcVar7 + 0xd93fc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93fc)" ( (binary_expression "pcVar7 + 0xd93fc" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = **(int **)(pcVar7 + 0xd87e4);" (assignment_expression "iVar5 = **(int **)(pcVar7 + 0xd87e4)" identifier = (pointer_expression "**(int **)(pcVar7 + 0xd87e4)" * (pointer_expression "*(int **)(pcVar7 + 0xd87e4)" * (cast_expression "(int **)(pcVar7 + 0xd87e4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd87e4)" ( (binary_expression "pcVar7 + 0xd87e4" identifier + number_literal) )))))) ;) (expression_statement "*piVar36 = -1;" (assignment_expression "*piVar36 = -1" (pointer_expression "*piVar36" * identifier) = number_literal) ;) (if_statement "if (iVar5 == 0) goto LAB_0006be24;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0006be24;" goto statement_identifier ;)) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))();" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xda58c))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda58c)" * (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4b0))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4b0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4b0)" * (pointer_expression "*(code **)(pcVar7 + 0xda4b0)" * (cast_expression "(code **)(pcVar7 + 0xda4b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4b0)" ( (binary_expression "pcVar7 + 0xda4b0" identifier + number_literal) ))))) )) (argument_list "(uVar30)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5dc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5dc)" * (pointer_expression "*(code **)(pcVar7 + 0xda5dc)" * (cast_expression "(code **)(pcVar7 + 0xda5dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5dc)" ( (binary_expression "pcVar7 + 0xda5dc" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" ( (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x62c0" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) }) (else_clause "else {\n      iVar5 = *piVar36;\n    }" else (compound_statement "{\n      iVar5 = *piVar36;\n    }" { (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) }))) (if_statement "if (iVar5 == -1) goto LAB_0006c3c8;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (goto_statement "goto LAB_0006c3c8;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" statement_identifier : (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" identifier = (call_expression "(**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a0c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a0c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a0c)" * (cast_expression "(code **)(pcVar7 + 0xd8a0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a0c)" ( (binary_expression "pcVar7 + 0xd8a0c" identifier + number_literal) ))))) )) (argument_list "(iVar5,1,0xffffffff)" ( identifier , number_literal , number_literal )))) ;)) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" * identifier) = identifier) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (if_statement "if (*piVar43 != 0) goto LAB_0006be5c;" if (parenthesized_expression "(*piVar43 != 0)" ( (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" * identifier) != number_literal) )) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;)) (labeled_statement "LAB_0006bf08:\n    iVar5 = (*pcVar8)();" statement_identifier : (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda4fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda4fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (expression_statement "(*pcVar8)(0,iVar5);" (call_expression "(*pcVar8)(0,iVar5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5)" ( number_literal , identifier ))) ;) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) (if_statement "if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" if (parenthesized_expression "(iVar5 != -1)" ( (binary_expression "iVar5 != -1" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);" (call_expression "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda73c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda73c)" * (pointer_expression "*(code **)(pcVar7 + 0xda73c)" * (cast_expression "(code **)(pcVar7 + 0xda73c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda73c)" ( (binary_expression "pcVar7 + 0xda73c" identifier + number_literal) ))))) )) (argument_list "(iVar5,*piVar43)" ( identifier , (pointer_expression "*piVar43" * identifier) ))) ;) (goto_statement "goto LAB_0006be5c;" goto statement_identifier ;) })) }))) (expression_statement "iVar20 = 0x12;" (assignment_expression "iVar20 = 0x12" identifier = number_literal) ;) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9434);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9434)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9434)" * (cast_expression "(int **)(pcVar7 + 0xd9434)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9434)" ( (binary_expression "pcVar7 + 0xd9434" identifier + number_literal) ))))) ;) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8a98);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8a98)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8a98)" * (cast_expression "(int **)(pcVar7 + 0xd8a98)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a98)" ( (binary_expression "pcVar7 + 0xd8a98" identifier + number_literal) ))))) ;) (while_statement "while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda598))(iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda598))" ( (pointer_expression "**(code **)(pcVar7 + 0xda598)" * (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier )))) ;) (expression_statement "*piVar45 = iVar5;" (assignment_expression "*piVar45 = iVar5" (pointer_expression "*piVar45" * identifier) = identifier) ;) (if_statement "if (iVar5 == -1) break;" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" if (parenthesized_expression "(*piVar43 == iVar5)" ( (binary_expression "*piVar43 == iVar5" (pointer_expression "*piVar43" * identifier) == identifier) )) (compound_statement "{\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" { (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" identifier = number_literal) ;) (goto_statement "goto LAB_0006c118;" goto statement_identifier ;) })) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" { (expression_statement "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21);" (call_expression "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a9c))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8a9c)" * (pointer_expression "*(code **)(pcVar7 + 0xd8a9c)" * (cast_expression "(code **)(pcVar7 + 0xd8a9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8a9c)" ( (binary_expression "pcVar7 + 0xd8a9c" identifier + number_literal) ))))) )) (argument_list "(*piVar21)" ( (pointer_expression "*piVar21" * identifier) ))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) ;) })) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" identifier = (binary_expression "iVar20 + -1" identifier + number_literal)) ;) (expression_statement "uVar30 = (*pcVar8)(0x1a,0);" (assignment_expression "uVar30 = (*pcVar8)(0x1a,0)" identifier = (call_expression "(*pcVar8)(0x1a,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0x1a,0)" ( number_literal , number_literal )))) ;) (expression_statement "(**(code **)(pcVar7 + 0xda61c))(0,0x1a);" (call_expression "(**(code **)(pcVar7 + 0xda61c))(0,0x1a)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda61c))" ( (pointer_expression "**(code **)(pcVar7 + 0xda61c)" * (pointer_expression "*(code **)(pcVar7 + 0xda61c)" * (cast_expression "(code **)(pcVar7 + 0xda61c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda61c)" ( (binary_expression "pcVar7 + 0xda61c" identifier + number_literal) ))))) )) (argument_list "(0,0x1a)" ( number_literal , number_literal ))) ;) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x1a,uVar30)" ( number_literal , identifier ))) ;) (if_statement "if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" { (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e14" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (expression_statement "**(int **)(pcVar7 + 0xd9070) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9070) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9070)" * (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) = identifier) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" identifier = (pointer_expression "*piVar36" * identifier)) ;) })) (expression_statement "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" identifier = (pointer_expression "*piVar21" * identifier)) ;) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (labeled_statement "LAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);" statement_identifier : (expression_statement "piVar29 = *(int **)(pcVar7 + 0xd9070);" (assignment_expression "piVar29 = *(int **)(pcVar7 + 0xd9070)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd9070)" * (cast_expression "(int **)(pcVar7 + 0xd9070)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd9070)" ( (binary_expression "pcVar7 + 0xd9070" identifier + number_literal) ))))) ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda670)" * (cast_expression "(code **)(pcVar7 + 0xda670)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda670)" ( (binary_expression "pcVar7 + 0xda670" identifier + number_literal) ))))) ;) (expression_statement "*piVar29 = iVar5;" (assignment_expression "*piVar29 = iVar5" (pointer_expression "*piVar29" * identifier) = identifier) ;) (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "iVar20 = *piVar29;" (assignment_expression "iVar20 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (if_statement "if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" if (parenthesized_expression "(iVar5 == iVar20)" ( (binary_expression "iVar5 == iVar20" identifier == identifier) )) (compound_statement "{\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }" { (labeled_statement "LAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);" statement_identifier : (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;)) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (labeled_statement "LAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);" statement_identifier : (expression_statement "iVar20 = (*pcVar8)(*piVar36);" (assignment_expression "iVar20 = (*pcVar8)(*piVar36)" identifier = (call_expression "(*pcVar8)(*piVar36)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(*piVar36)" ( (pointer_expression "*piVar36" * identifier) )))) ;)) (if_statement "if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" if (parenthesized_expression "((iVar20 == -1) || (*piVar43 != iVar20))" ( (binary_expression "(iVar20 == -1) || (*piVar43 != iVar20)" (parenthesized_expression "(iVar20 == -1)" ( (binary_expression "iVar20 == -1" identifier == number_literal) )) || (parenthesized_expression "(*piVar43 != iVar20)" ( (binary_expression "*piVar43 != iVar20" (pointer_expression "*piVar43" * identifier) != identifier) ))) )) (compound_statement "{\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" { (if_statement "if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" if (parenthesized_expression "(iVar9 != -1)" ( (binary_expression "iVar9 != -1" identifier != number_literal) )) (compound_statement "{\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" { (expression_statement "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*piVar29 = iVar9;" (assignment_expression "*piVar29 = iVar9" (pointer_expression "*piVar29" * identifier) = identifier) ;) })) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e6c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30,iVar20);" (call_expression "sys_error(uVar30,iVar20)" identifier (argument_list "(uVar30,iVar20)" ( identifier , identifier ))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (goto_statement "goto LAB_0006c230;" goto statement_identifier ;) })) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" { (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (goto_statement "goto LAB_0006bff4;" goto statement_identifier ;) })) }) (else_clause "else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" else (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5)" ( number_literal , identifier )))) ;) (if_statement "if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" { (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e4c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" * identifier) = (pointer_expression "*piVar29" * identifier)) ;) (goto_statement "goto LAB_0006c138;" goto statement_identifier ;) })) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" * (cast_expression "(int **)(pcVar7 + 0xd8b0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8b0c)" ( (binary_expression "pcVar7 + 0xd8b0c" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (expression_statement "iVar5 = *piVar29;" (assignment_expression "iVar5 = *piVar29" identifier = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" * identifier) = number_literal) ;) (if_statement "if (iVar20 == iVar5) goto LAB_0006c144;" if (parenthesized_expression "(iVar20 == iVar5)" ( (binary_expression "iVar20 == iVar5" identifier == identifier) )) (goto_statement "goto LAB_0006c144;" goto statement_identifier ;)) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar45 == iVar20) goto LAB_0006c148;" if (parenthesized_expression "(*piVar45 == iVar20)" ( (binary_expression "*piVar45 == iVar20" (pointer_expression "*piVar45" * identifier) == identifier) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) (expression_statement "iVar5 = give_terminal_to(iVar20,0);" (assignment_expression "iVar5 = give_terminal_to(iVar20,0)" identifier = (call_expression "give_terminal_to(iVar20,0)" identifier (argument_list "(iVar20,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }" { (expression_statement "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" ( (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" * (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" * (cast_expression "(code **)(pcVar7 + 0xda5a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda5a0)" ( (binary_expression "pcVar7 + 0xda5a0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" identifier = (pointer_expression "*puVar42" * identifier)) ;) (expression_statement "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);" (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" * (cast_expression "(code **)(pcVar7 + 0xda4fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda4fc)" ( (binary_expression "pcVar7 + 0xda4fc" identifier + number_literal) ))))) )) (argument_list "(0,*piVar29)" ( number_literal , (pointer_expression "*piVar29" * identifier) ))) ;) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda6fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda6fc)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) ;) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" * identifier) = (pointer_expression "*piVar29" * identifier)) ;) (expression_statement "*puVar42 = uVar30;" (assignment_expression "*puVar42 = uVar30" (pointer_expression "*puVar42" * identifier) = identifier) ;) (expression_statement "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);" (assignment_expression "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5)" identifier = (call_expression "(*pcVar8)(0,iVar5 + 0x7e6c,5)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(0,iVar5 + 0x7e6c,5)" ( number_literal , (binary_expression "iVar5 + 0x7e6c" identifier + number_literal) , number_literal )))) ;) (expression_statement "sys_error(uVar30,*piVar43);" (call_expression "sys_error(uVar30,*piVar43)" identifier (argument_list "(uVar30,*piVar43)" ( identifier , (pointer_expression "*piVar43" * identifier) ))) ;) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" * identifier) = number_literal) ;) }) (else_clause "else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" else (compound_statement "{\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" { (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda598)" * (cast_expression "(code **)(pcVar7 + 0xda598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda598)" ( (binary_expression "pcVar7 + 0xda598" identifier + number_literal) ))))) ;) (if_statement "if (*piVar21 != 0) goto LAB_0006c148;" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (goto_statement "goto LAB_0006c148;" goto statement_identifier ;)) }))) (labeled_statement "LAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);" statement_identifier : (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" identifier = (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" * (cast_expression "(int *)(pcVar7 + 0xd87dc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd87dc)" ( (binary_expression "pcVar7 + 0xd87dc" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" identifier = (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" ( (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" * (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" * (cast_expression "(code **)(pcVar7 + 0xda6fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda6fc)" ( (binary_expression "pcVar7 + 0xda6fc" identifier + number_literal) ))))) )) (argument_list "(0,iVar5 + 0x7e94,5)" ( number_literal , (binary_expression "iVar5 + 0x7e94" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar30);" (call_expression "internal_error(uVar30)" identifier (argument_list "(uVar30)" ( identifier ))) ;) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" identifier = (pointer_expression "*piVar45" * identifier)) ;) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" identifier = (pointer_expression "*piVar43" * identifier)) ;) (labeled_statement "LAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);" statement_identifier : (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" identifier = (pointer_expression "*(code **)(pcVar7 + 0xda58c)" * (cast_expression "(code **)(pcVar7 + 0xda58c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda58c)" ( (binary_expression "pcVar7 + 0xda58c" identifier + number_literal) ))))) ;)) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" identifier = (pointer_expression "*puVar22" * identifier)) ;) (expression_statement "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);" (assignment_expression "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5)" (pointer_expression "**(uint **)(pcVar7 + 0xd8954)" * (pointer_expression "*(uint **)(pcVar7 + 0xd8954)" * (cast_expression "(uint **)(pcVar7 + 0xd8954)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8954)" ( (binary_expression "pcVar7 + 0xd8954" identifier + number_literal) ))))) = (call_expression "(uint)(iVar20 != iVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar20 != iVar5)" ( (binary_expression "iVar20 != iVar5" identifier != identifier) )))) ;) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" identifier = (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(uVar30)" ( identifier )))) ;) (if_statement "if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" if (parenthesized_expression "(iVar5 != *piVar36)" ( (binary_expression "iVar5 != *piVar36" identifier != (pointer_expression "*piVar36" * identifier)) )) (compound_statement "{\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" { (expression_statement "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);" (call_expression "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda540))" ( (pointer_expression "**(code **)(pcVar7 + 0xda540)" * (pointer_expression "*(code **)(pcVar7 + 0xda540)" * (cast_expression "(code **)(pcVar7 + 0xda540)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xda540)" ( (binary_expression "pcVar7 + 0xda540" identifier + number_literal) ))))) )) (argument_list "(*piVar36,2,1)" ( (pointer_expression "*piVar36" * identifier) , number_literal , number_literal ))) ;) })) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" ( (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" * (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" * (cast_expression "(code **)(pcVar7 + 0xd8aac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd8aac)" ( (binary_expression "pcVar7 + 0xd8aac" identifier + number_literal) ))))) )) (argument_list "(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" ( number_literal , (binary_expression "*(int *)(pcVar7 + 0xd942c) + -0x6fbc" (pointer_expression "*(int *)(pcVar7 + 0xd942c)" * (cast_expression "(int *)(pcVar7 + 0xd942c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar7 + 0xd942c)" ( (binary_expression "pcVar7 + 0xd942c" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar30 = 0x2b;" (assignment_expression "uVar30 = 0x2b" identifier = number_literal) ;) (if_statement "if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }" if (parenthesized_expression "(*piVar21 != 0)" ( (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" * identifier) != number_literal) )) (compound_statement "{\n    uVar30 = 0x2d;\n  }" { (expression_statement "uVar30 = 0x2d;" (assignment_expression "uVar30 = 0x2d" identifier = number_literal) ;) })) (expression_statement "change_flag(0x6d,uVar30);" (call_expression "change_flag(0x6d,uVar30)" identifier (argument_list "(0x6d,uVar30)" ( number_literal , identifier ))) ;) (if_statement "if (*piVar44 != 0) {\n    get_tty_state();\n  }" if (parenthesized_expression "(*piVar44 != 0)" ( (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" * identifier) != number_literal) )) (compound_statement "{\n    get_tty_state();\n  }" { (expression_statement "get_tty_state();" (call_expression "get_tty_state()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd90bc);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd90bc)" identifier = (pointer_expression "*(int **)(pcVar7 + 0xd90bc)" * (cast_expression "(int **)(pcVar7 + 0xd90bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd90bc)" ( (binary_expression "pcVar7 + 0xd90bc" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }" if (parenthesized_expression "(-1 < *piVar43)" ( (binary_expression "-1 < *piVar43" number_literal < (pointer_expression "*piVar43" * identifier)) )) (compound_statement "{\n    return (undefined1 *)*piVar21;\n  }" { (return_statement "return (undefined1 *)*piVar21;" return (cast_expression "(undefined1 *)*piVar21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd93d8))();" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd93d8))()" identifier = (call_expression "(**(code **)(pcVar7 + 0xd93d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xd93d8))" ( (pointer_expression "**(code **)(pcVar7 + 0xd93d8)" * (pointer_expression "*(code **)(pcVar7 + 0xd93d8)" * (cast_expression "(code **)(pcVar7 + 0xd93d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar7 + 0xd93d8)" ( (binary_expression "pcVar7 + 0xd93d8" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar5 = 0x20;\n  }" { (expression_statement "iVar5 = 0x20;" (assignment_expression "iVar5 = 0x20" identifier = number_literal) ;) })) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" * identifier) = identifier) ;) (return_statement "return (undefined1 *)*piVar21;" return (cast_expression "(undefined1 *)*piVar21" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar21" * identifier)) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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))) ;) (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 ( 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 ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (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))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (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 *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) ))) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != IDENT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (do_statement do (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) 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 + 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 = (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 ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = 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 ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * IDENT) == LIT))))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 = (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == IDENT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT == LIT) )) ;) (expression_statement (assignment_expression IDENT = (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' escape_sequence ')) ))) >> LIT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression 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) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )) + LIT) )))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto 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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) })) (expression_statement (assignment_expression IDENT = (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 *)) ) IDENT)) != LIT) )) (compound_statement { (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 (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' escape_sequence ')) )))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) 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) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) || (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) )))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT)) ))))) )) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) , (binary_expression IDENT == LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != 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 ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (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) )))) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) }))) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' escape_sequence ')) ))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (char_literal ' escape_sequence ') < IDENT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) 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) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (char_literal ' escape_sequence ') < IDENT) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , LIT , LIT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = 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 ;)) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (char_literal ' escape_sequence ')) ))) >> LIT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT << LIT) )) >> LIT) )) + LIT) )))) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) == LIT) && (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT ))) ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_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 ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) }))) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (break_statement break ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == 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)) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) 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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) ))))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }) while (parenthesized_expression ( BOOL )) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (call_expression IDENT (argument_list ( ))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (goto_statement goto statement_identifier ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) , (binary_expression (pointer_expression * IDENT) == LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (break_statement break ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (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) )))) == 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)) ;) })) (labeled_statement 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) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression 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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (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) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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) )))) != LIT) )))) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement 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) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) ))) ;)) })) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (labeled_statement 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) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement 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) ))))) ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (labeled_statement 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) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (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)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;)) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) )))) & LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (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 = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == 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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) )))) + LIT) )))) & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) | LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (pointer_expression * IDENT) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement 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) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (labeled_statement 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) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement 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) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression * IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (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 (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * 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) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (labeled_statement 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) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , LIT , LIT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ;) })))
(function_definition "undefined1 * wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)\n\n{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" (type_identifier "undefined1") (pointer_declarator "* wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" (* "*") (function_declarator "wait_for(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" (identifier "wait_for") (parameter_list "(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)" (( "(") (parameter_declaration "undefined *param_1" (type_identifier "undefined") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "int *param_4" (primitive_type "int") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  undefined *puVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  undefined *puVar6;\n  code *pcVar7;\n  code *pcVar8;\n  int iVar9;\n  undefined *puVar10;\n  uint uVar11;\n  char cVar15;\n  undefined1 *puVar12;\n  undefined1 *puVar13;\n  undefined4 *puVar14;\n  int iVar16;\n  undefined4 *puVar17;\n  undefined4 *puVar18;\n  uint uVar19;\n  int iVar20;\n  int *piVar21;\n  undefined4 *puVar22;\n  undefined4 uVar23;\n  int iVar24;\n  undefined4 uVar25;\n  int *piVar26;\n  int iVar27;\n  undefined *puVar28;\n  int *piVar29;\n  undefined4 uVar30;\n  undefined1 *puVar31;\n  undefined4 *puVar32;\n  undefined *puVar33;\n  undefined *puVar34;\n  undefined *puVar35;\n  int *piVar36;\n  undefined4 *puVar37;\n  undefined *puVar38;\n  undefined *puVar39;\n  undefined *puVar40;\n  int iVar41;\n  undefined4 *puVar42;\n  int *unaff_s6;\n  int *piVar43;\n  int *piVar44;\n  int unaff_s8;\n  int *piVar45;\n  undefined4 uStack_7f4;\n  undefined1 auStack_7ec [128];\n  undefined1 auStack_76c [128];\n  int iStack_6ec;\n  undefined1 *puStack_6e8;\n  undefined1 *puStack_6e4;\n  undefined1 *puStack_6e0;\n  int *piStack_6dc;\n  int *piStack_6d8;\n  undefined4 *puStack_6d4;\n  int *piStack_6d0;\n  int iStack_6cc;\n  int *piStack_6c8;\n  code *pcStack_6c4;\n  code *pcStack_6b0;\n  code *pcStack_6a4;\n  undefined1 auStack_69c [128];\n  undefined1 auStack_61c [128];\n  int *piStack_59c;\n  undefined1 *puStack_598;\n  undefined1 *puStack_594;\n  undefined1 *puStack_590;\n  undefined4 uStack_58c;\n  int *piStack_588;\n  int iStack_584;\n  int *piStack_580;\n  int *piStack_57c;\n  int *piStack_578;\n  code *pcStack_574;\n  code *pcStack_560;\n  code *pcStack_554;\n  int iStack_550;\n  int iStack_54c;\n  int *piStack_548;\n  code *pcStack_544;\n  undefined1 auStack_53c [128];\n  undefined1 auStack_4bc [128];\n  int iStack_43c;\n  int *piStack_438;\n  int iStack_434;\n  undefined1 *puStack_430;\n  int iStack_42c;\n  undefined1 *puStack_428;\n  int iStack_424;\n  int *piStack_420;\n  int *piStack_41c;\n  int *piStack_418;\n  code *pcStack_414;\n  code *pcStack_400;\n  code *pcStack_3f4;\n  int *piStack_3f0;\n  code *pcStack_3ec;\n  undefined1 auStack_3e4 [128];\n  undefined1 auStack_364 [128];\n  undefined1 *puStack_2e4;\n  undefined1 *puStack_2e0;\n  undefined1 *puStack_2dc;\n  uint uStack_2d8;\n  int iStack_2d4;\n  undefined *puStack_2d0;\n  undefined1 *puStack_2cc;\n  int *piStack_2c8;\n  int *piStack_2c4;\n  int *piStack_2c0;\n  code *pcStack_2bc;\n  undefined *puStack_2a8;\n  undefined1 auStack_29c [128];\n  undefined1 auStack_21c [128];\n  int iStack_19c;\n  undefined *puStack_198;\n  undefined *puStack_194;\n  undefined *puStack_190;\n  int *piStack_18c;\n  undefined *puStack_188;\n  undefined *puStack_184;\n  int *piStack_180;\n  undefined *puStack_17c;\n  int iStack_178;\n  code *pcStack_174;\n  undefined1 *local_144;\n  undefined auStack_12c [128];\n  undefined auStack_ac [128];\n  uint local_2c;\n  \n  puVar4 = PTR___stack_chk_guard_001464dc;\n  puVar2 = PTR___environ_00145154;\n  piVar43 = (int *)PTR_job_control_001448a8;\n  puVar40 = auStack_ac;\n  puVar33 = auStack_12c;\n  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;\n  (*(code *)PTR_sigemptyset_001462d4)(puVar33);\n  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);\n  (*(code *)PTR_sigemptyset_001462d4)(puVar40);\n  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);\n  iVar5 = *piVar43;\n  *(undefined4 *)(puVar2 + -0x70d8) = 0;\n  *(undefined4 *)(puVar2 + -0x70d4) = 0;\n  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }\n  if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }\n  puVar3 = PTR_wait_intr_flag_00145168;\n  puVar38 = PTR___environ_00145154;\n  puVar1 = PTR_wait_builtin_00145150;\n  puVar6 = PTR_this_shell_builtin_00144a84;\n  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }\nLAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n  param_1 = puVar28;\nLAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }\n  pcVar7 = wait_for_single_pid;\n  uVar11 = local_2c;\n  puVar33 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_2a8 = puVar33 + 0xe1e00;\n  piVar45 = *(int **)(puVar33 + 0xdbd9c);\n  puStack_17c = (undefined *)piVar43;\n  iStack_19c = *piVar45;\n  puStack_198 = param_1;\n  puStack_194 = puVar34;\n  puStack_190 = puVar10;\n  piStack_18c = piVar21;\n  puStack_188 = puVar38;\n  puStack_184 = puVar3;\n  piStack_180 = unaff_s6;\n  iStack_178 = unaff_s8;\n  pcStack_174 = pcVar7;\n  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);\n  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n  iVar5 = FUN_0006403c(uVar11,0,0);\n  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n  if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }\nLAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);\n  pcVar8 = wait_for_background_pids;\n  (*pcVar7)();\n  pcStack_400 = pcVar7 + 0xe19dc;\n  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);\n  iVar20 = *(int *)(pcVar7 + 0xda48c);\n  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);\n  iVar9 = *(int *)(pcVar7 + 0xd9a14);\n  puStack_2e4 = (undefined1 *)*piStack_3f0;\n  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);\n  iVar41 = *(int *)(pcVar7 + 0xda2f4);\n  piVar21 = *(int **)(pcVar7 + 0xda2f8);\n  puStack_2e0 = auStack_29c;\n  puStack_2dc = auStack_21c;\n  uStack_2d8 = uVar11;\n  iStack_2d4 = iVar5;\n  puStack_2d0 = puVar40;\n  puStack_2cc = puVar12;\n  piStack_2c8 = unaff_s6;\n  piStack_2c4 = piVar43;\n  piStack_2c0 = piVar45;\n  pcStack_2bc = pcVar8;\nLAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );\nLAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);\n  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }\n  (**(code **)(pcStack_6b0 + -0x737c))();\n  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n  goto LAB_0006b430;\n  while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }\n  (**(code **)(pcStack_560 + -0x626c))(puVar31);\n  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\nLAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);\n  iVar20 = *piVar44;\n  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }\nLAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);\nLAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);\n  if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcStack_560 + -0x60b8);\n  pcVar8 = wait_for_any_job;\n  (*pcVar7)();\n  pcStack_6b0 = pcVar7 + 0xe1290;\n  iVar20 = *(int *)(pcVar7 + 0xd9ea4);\n  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);\n  uStack_58c = 0xffffffff;\n  piStack_59c = (int *)*puVar42;\n  puStack_598 = puVar31;\n  puStack_594 = auStack_4bc;\n  puStack_590 = puVar12;\n  piStack_588 = piVar21;\n  iStack_584 = iVar5;\n  piStack_580 = piVar29;\n  piStack_57c = piVar44;\n  piStack_578 = piVar45;\n  pcStack_574 = pcVar8;\n  if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }\n  puVar13 = (undefined1 *)0xffffffff;\nLAB_0006b430:\n  pcVar7 = pcStack_6b0;\n  if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }\n  piVar44 = piStack_59c;\n  (**(code **)(pcStack_6b0 + -0x60b8))();\nLAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);\n  pcVar8 = start_job;\n  puVar22 = (undefined4 *)0x1;\n  (*pcVar7)();\n  piVar26 = *(int **)(pcVar7 + 0xdada0);\n  iVar5 = (int)piVar44 * 4;\n  iStack_6ec = *piVar26;\n  piVar36 = *(int **)(pcVar7 + 0xd9720);\n  puStack_6e8 = puVar31;\n  puStack_6e4 = puVar13;\n  puStack_6e0 = puVar12;\n  piStack_6dc = piVar43;\n  piStack_6d8 = piVar21;\n  puStack_6d4 = puVar42;\n  piStack_6d0 = piVar29;\n  iStack_6cc = iVar20;\n  piStack_6c8 = piVar45;\n  pcStack_6c4 = pcVar8;\n  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);\n  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);\n  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);\n  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);\n  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);\n  if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }\n  if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }\n  pcVar7 = *(code **)(pcVar7 + 0xdad4c);\n  iVar5 = iStack_6ec;\n  (*pcVar7)();\n  piVar43 = *(int **)(pcVar7 + 0xd8b10);\n  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();\n  *piVar43 = iVar20;\n  if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }\n  iVar20 = 0x12;\n  piVar45 = *(int **)(pcVar7 + 0xd9434);\n  piVar21 = *(int **)(pcVar7 + 0xd8a98);\n  while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }\n  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n  iVar9 = *piVar21;\n  iVar5 = *piVar43;\nLAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);\n  pcVar8 = *(code **)(pcVar7 + 0xda670);\n  *piVar29 = iVar5;\n  iVar5 = (*pcVar8)();\n  iVar20 = *piVar29;\n  *piVar43 = iVar5;\n  if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }\n  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);\n  internal_error(uVar30);\n  iVar5 = *piVar45;\n  iVar20 = *piVar43;\nLAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);\n  uVar30 = *puVar22;\n  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);\n  iVar5 = (*pcVar8)(uVar30);\n  if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }\n  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);\n  uVar30 = 0x2b;\n  if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }\n  change_flag(0x6d,uVar30);\n  if (*piVar44 != 0) {\n    get_tty_state();\n  }\n  piVar43 = *(int **)(pcVar7 + 0xd90bc);\n  if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }\n  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();\n  if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }\n  *piVar43 = iVar5;\n  return (undefined1 *)*piVar21;\n}" ({ "{") (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "code *pcVar7;" (type_identifier "code") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "code *pcVar8;" (type_identifier "code") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "char cVar15;" (primitive_type "char") (identifier "cVar15") (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined1 *puVar13;" (type_identifier "undefined1") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 *puVar17;" (type_identifier "undefined4") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "int *piVar21;" (primitive_type "int") (pointer_declarator "*piVar21" (* "*") (identifier "piVar21")) (; ";")) (declaration "undefined4 *puVar22;" (type_identifier "undefined4") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "undefined4 uVar23;" (type_identifier "undefined4") (identifier "uVar23") (; ";")) (declaration "int iVar24;" (primitive_type "int") (identifier "iVar24") (; ";")) (declaration "undefined4 uVar25;" (type_identifier "undefined4") (identifier "uVar25") (; ";")) (declaration "int *piVar26;" (primitive_type "int") (pointer_declarator "*piVar26" (* "*") (identifier "piVar26")) (; ";")) (declaration "int iVar27;" (primitive_type "int") (identifier "iVar27") (; ";")) (declaration "undefined *puVar28;" (type_identifier "undefined") (pointer_declarator "*puVar28" (* "*") (identifier "puVar28")) (; ";")) (declaration "int *piVar29;" (primitive_type "int") (pointer_declarator "*piVar29" (* "*") (identifier "piVar29")) (; ";")) (declaration "undefined4 uVar30;" (type_identifier "undefined4") (identifier "uVar30") (; ";")) (declaration "undefined1 *puVar31;" (type_identifier "undefined1") (pointer_declarator "*puVar31" (* "*") (identifier "puVar31")) (; ";")) (declaration "undefined4 *puVar32;" (type_identifier "undefined4") (pointer_declarator "*puVar32" (* "*") (identifier "puVar32")) (; ";")) (declaration "undefined *puVar33;" (type_identifier "undefined") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "undefined *puVar34;" (type_identifier "undefined") (pointer_declarator "*puVar34" (* "*") (identifier "puVar34")) (; ";")) (declaration "undefined *puVar35;" (type_identifier "undefined") (pointer_declarator "*puVar35" (* "*") (identifier "puVar35")) (; ";")) (declaration "int *piVar36;" (primitive_type "int") (pointer_declarator "*piVar36" (* "*") (identifier "piVar36")) (; ";")) (declaration "undefined4 *puVar37;" (type_identifier "undefined4") (pointer_declarator "*puVar37" (* "*") (identifier "puVar37")) (; ";")) (declaration "undefined *puVar38;" (type_identifier "undefined") (pointer_declarator "*puVar38" (* "*") (identifier "puVar38")) (; ";")) (declaration "undefined *puVar39;" (type_identifier "undefined") (pointer_declarator "*puVar39" (* "*") (identifier "puVar39")) (; ";")) (declaration "undefined *puVar40;" (type_identifier "undefined") (pointer_declarator "*puVar40" (* "*") (identifier "puVar40")) (; ";")) (declaration "int iVar41;" (primitive_type "int") (identifier "iVar41") (; ";")) (declaration "undefined4 *puVar42;" (type_identifier "undefined4") (pointer_declarator "*puVar42" (* "*") (identifier "puVar42")) (; ";")) (declaration "int *unaff_s6;" (primitive_type "int") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "int *piVar43;" (primitive_type "int") (pointer_declarator "*piVar43" (* "*") (identifier "piVar43")) (; ";")) (declaration "int *piVar44;" (primitive_type "int") (pointer_declarator "*piVar44" (* "*") (identifier "piVar44")) (; ";")) (declaration "int unaff_s8;" (primitive_type "int") (identifier "unaff_s8") (; ";")) (declaration "int *piVar45;" (primitive_type "int") (pointer_declarator "*piVar45" (* "*") (identifier "piVar45")) (; ";")) (declaration "undefined4 uStack_7f4;" (type_identifier "undefined4") (identifier "uStack_7f4") (; ";")) (declaration "undefined1 auStack_7ec [128];" (type_identifier "undefined1") (array_declarator "auStack_7ec [128]" (identifier "auStack_7ec") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_76c [128];" (type_identifier "undefined1") (array_declarator "auStack_76c [128]" (identifier "auStack_76c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int iStack_6ec;" (primitive_type "int") (identifier "iStack_6ec") (; ";")) (declaration "undefined1 *puStack_6e8;" (type_identifier "undefined1") (pointer_declarator "*puStack_6e8" (* "*") (identifier "puStack_6e8")) (; ";")) (declaration "undefined1 *puStack_6e4;" (type_identifier "undefined1") (pointer_declarator "*puStack_6e4" (* "*") (identifier "puStack_6e4")) (; ";")) (declaration "undefined1 *puStack_6e0;" (type_identifier "undefined1") (pointer_declarator "*puStack_6e0" (* "*") (identifier "puStack_6e0")) (; ";")) (declaration "int *piStack_6dc;" (primitive_type "int") (pointer_declarator "*piStack_6dc" (* "*") (identifier "piStack_6dc")) (; ";")) (declaration "int *piStack_6d8;" (primitive_type "int") (pointer_declarator "*piStack_6d8" (* "*") (identifier "piStack_6d8")) (; ";")) (declaration "undefined4 *puStack_6d4;" (type_identifier "undefined4") (pointer_declarator "*puStack_6d4" (* "*") (identifier "puStack_6d4")) (; ";")) (declaration "int *piStack_6d0;" (primitive_type "int") (pointer_declarator "*piStack_6d0" (* "*") (identifier "piStack_6d0")) (; ";")) (declaration "int iStack_6cc;" (primitive_type "int") (identifier "iStack_6cc") (; ";")) (declaration "int *piStack_6c8;" (primitive_type "int") (pointer_declarator "*piStack_6c8" (* "*") (identifier "piStack_6c8")) (; ";")) (declaration "code *pcStack_6c4;" (type_identifier "code") (pointer_declarator "*pcStack_6c4" (* "*") (identifier "pcStack_6c4")) (; ";")) (declaration "code *pcStack_6b0;" (type_identifier "code") (pointer_declarator "*pcStack_6b0" (* "*") (identifier "pcStack_6b0")) (; ";")) (declaration "code *pcStack_6a4;" (type_identifier "code") (pointer_declarator "*pcStack_6a4" (* "*") (identifier "pcStack_6a4")) (; ";")) (declaration "undefined1 auStack_69c [128];" (type_identifier "undefined1") (array_declarator "auStack_69c [128]" (identifier "auStack_69c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_61c [128];" (type_identifier "undefined1") (array_declarator "auStack_61c [128]" (identifier "auStack_61c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int *piStack_59c;" (primitive_type "int") (pointer_declarator "*piStack_59c" (* "*") (identifier "piStack_59c")) (; ";")) (declaration "undefined1 *puStack_598;" (type_identifier "undefined1") (pointer_declarator "*puStack_598" (* "*") (identifier "puStack_598")) (; ";")) (declaration "undefined1 *puStack_594;" (type_identifier "undefined1") (pointer_declarator "*puStack_594" (* "*") (identifier "puStack_594")) (; ";")) (declaration "undefined1 *puStack_590;" (type_identifier "undefined1") (pointer_declarator "*puStack_590" (* "*") (identifier "puStack_590")) (; ";")) (declaration "undefined4 uStack_58c;" (type_identifier "undefined4") (identifier "uStack_58c") (; ";")) (declaration "int *piStack_588;" (primitive_type "int") (pointer_declarator "*piStack_588" (* "*") (identifier "piStack_588")) (; ";")) (declaration "int iStack_584;" (primitive_type "int") (identifier "iStack_584") (; ";")) (declaration "int *piStack_580;" (primitive_type "int") (pointer_declarator "*piStack_580" (* "*") (identifier "piStack_580")) (; ";")) (declaration "int *piStack_57c;" (primitive_type "int") (pointer_declarator "*piStack_57c" (* "*") (identifier "piStack_57c")) (; ";")) (declaration "int *piStack_578;" (primitive_type "int") (pointer_declarator "*piStack_578" (* "*") (identifier "piStack_578")) (; ";")) (declaration "code *pcStack_574;" (type_identifier "code") (pointer_declarator "*pcStack_574" (* "*") (identifier "pcStack_574")) (; ";")) (declaration "code *pcStack_560;" (type_identifier "code") (pointer_declarator "*pcStack_560" (* "*") (identifier "pcStack_560")) (; ";")) (declaration "code *pcStack_554;" (type_identifier "code") (pointer_declarator "*pcStack_554" (* "*") (identifier "pcStack_554")) (; ";")) (declaration "int iStack_550;" (primitive_type "int") (identifier "iStack_550") (; ";")) (declaration "int iStack_54c;" (primitive_type "int") (identifier "iStack_54c") (; ";")) (declaration "int *piStack_548;" (primitive_type "int") (pointer_declarator "*piStack_548" (* "*") (identifier "piStack_548")) (; ";")) (declaration "code *pcStack_544;" (type_identifier "code") (pointer_declarator "*pcStack_544" (* "*") (identifier "pcStack_544")) (; ";")) (declaration "undefined1 auStack_53c [128];" (type_identifier "undefined1") (array_declarator "auStack_53c [128]" (identifier "auStack_53c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_4bc [128];" (type_identifier "undefined1") (array_declarator "auStack_4bc [128]" (identifier "auStack_4bc") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int iStack_43c;" (primitive_type "int") (identifier "iStack_43c") (; ";")) (declaration "int *piStack_438;" (primitive_type "int") (pointer_declarator "*piStack_438" (* "*") (identifier "piStack_438")) (; ";")) (declaration "int iStack_434;" (primitive_type "int") (identifier "iStack_434") (; ";")) (declaration "undefined1 *puStack_430;" (type_identifier "undefined1") (pointer_declarator "*puStack_430" (* "*") (identifier "puStack_430")) (; ";")) (declaration "int iStack_42c;" (primitive_type "int") (identifier "iStack_42c") (; ";")) (declaration "undefined1 *puStack_428;" (type_identifier "undefined1") (pointer_declarator "*puStack_428" (* "*") (identifier "puStack_428")) (; ";")) (declaration "int iStack_424;" (primitive_type "int") (identifier "iStack_424") (; ";")) (declaration "int *piStack_420;" (primitive_type "int") (pointer_declarator "*piStack_420" (* "*") (identifier "piStack_420")) (; ";")) (declaration "int *piStack_41c;" (primitive_type "int") (pointer_declarator "*piStack_41c" (* "*") (identifier "piStack_41c")) (; ";")) (declaration "int *piStack_418;" (primitive_type "int") (pointer_declarator "*piStack_418" (* "*") (identifier "piStack_418")) (; ";")) (declaration "code *pcStack_414;" (type_identifier "code") (pointer_declarator "*pcStack_414" (* "*") (identifier "pcStack_414")) (; ";")) (declaration "code *pcStack_400;" (type_identifier "code") (pointer_declarator "*pcStack_400" (* "*") (identifier "pcStack_400")) (; ";")) (declaration "code *pcStack_3f4;" (type_identifier "code") (pointer_declarator "*pcStack_3f4" (* "*") (identifier "pcStack_3f4")) (; ";")) (declaration "int *piStack_3f0;" (primitive_type "int") (pointer_declarator "*piStack_3f0" (* "*") (identifier "piStack_3f0")) (; ";")) (declaration "code *pcStack_3ec;" (type_identifier "code") (pointer_declarator "*pcStack_3ec" (* "*") (identifier "pcStack_3ec")) (; ";")) (declaration "undefined1 auStack_3e4 [128];" (type_identifier "undefined1") (array_declarator "auStack_3e4 [128]" (identifier "auStack_3e4") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_364 [128];" (type_identifier "undefined1") (array_declarator "auStack_364 [128]" (identifier "auStack_364") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 *puStack_2e4;" (type_identifier "undefined1") (pointer_declarator "*puStack_2e4" (* "*") (identifier "puStack_2e4")) (; ";")) (declaration "undefined1 *puStack_2e0;" (type_identifier "undefined1") (pointer_declarator "*puStack_2e0" (* "*") (identifier "puStack_2e0")) (; ";")) (declaration "undefined1 *puStack_2dc;" (type_identifier "undefined1") (pointer_declarator "*puStack_2dc" (* "*") (identifier "puStack_2dc")) (; ";")) (declaration "uint uStack_2d8;" (type_identifier "uint") (identifier "uStack_2d8") (; ";")) (declaration "int iStack_2d4;" (primitive_type "int") (identifier "iStack_2d4") (; ";")) (declaration "undefined *puStack_2d0;" (type_identifier "undefined") (pointer_declarator "*puStack_2d0" (* "*") (identifier "puStack_2d0")) (; ";")) (declaration "undefined1 *puStack_2cc;" (type_identifier "undefined1") (pointer_declarator "*puStack_2cc" (* "*") (identifier "puStack_2cc")) (; ";")) (declaration "int *piStack_2c8;" (primitive_type "int") (pointer_declarator "*piStack_2c8" (* "*") (identifier "piStack_2c8")) (; ";")) (declaration "int *piStack_2c4;" (primitive_type "int") (pointer_declarator "*piStack_2c4" (* "*") (identifier "piStack_2c4")) (; ";")) (declaration "int *piStack_2c0;" (primitive_type "int") (pointer_declarator "*piStack_2c0" (* "*") (identifier "piStack_2c0")) (; ";")) (declaration "code *pcStack_2bc;" (type_identifier "code") (pointer_declarator "*pcStack_2bc" (* "*") (identifier "pcStack_2bc")) (; ";")) (declaration "undefined *puStack_2a8;" (type_identifier "undefined") (pointer_declarator "*puStack_2a8" (* "*") (identifier "puStack_2a8")) (; ";")) (declaration "undefined1 auStack_29c [128];" (type_identifier "undefined1") (array_declarator "auStack_29c [128]" (identifier "auStack_29c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined1 auStack_21c [128];" (type_identifier "undefined1") (array_declarator "auStack_21c [128]" (identifier "auStack_21c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "int iStack_19c;" (primitive_type "int") (identifier "iStack_19c") (; ";")) (declaration "undefined *puStack_198;" (type_identifier "undefined") (pointer_declarator "*puStack_198" (* "*") (identifier "puStack_198")) (; ";")) (declaration "undefined *puStack_194;" (type_identifier "undefined") (pointer_declarator "*puStack_194" (* "*") (identifier "puStack_194")) (; ";")) (declaration "undefined *puStack_190;" (type_identifier "undefined") (pointer_declarator "*puStack_190" (* "*") (identifier "puStack_190")) (; ";")) (declaration "int *piStack_18c;" (primitive_type "int") (pointer_declarator "*piStack_18c" (* "*") (identifier "piStack_18c")) (; ";")) (declaration "undefined *puStack_188;" (type_identifier "undefined") (pointer_declarator "*puStack_188" (* "*") (identifier "puStack_188")) (; ";")) (declaration "undefined *puStack_184;" (type_identifier "undefined") (pointer_declarator "*puStack_184" (* "*") (identifier "puStack_184")) (; ";")) (declaration "int *piStack_180;" (primitive_type "int") (pointer_declarator "*piStack_180" (* "*") (identifier "piStack_180")) (; ";")) (declaration "undefined *puStack_17c;" (type_identifier "undefined") (pointer_declarator "*puStack_17c" (* "*") (identifier "puStack_17c")) (; ";")) (declaration "int iStack_178;" (primitive_type "int") (identifier "iStack_178") (; ";")) (declaration "code *pcStack_174;" (type_identifier "code") (pointer_declarator "*pcStack_174" (* "*") (identifier "pcStack_174")) (; ";")) (declaration "undefined1 *local_144;" (type_identifier "undefined1") (pointer_declarator "*local_144" (* "*") (identifier "local_144")) (; ";")) (declaration "undefined auStack_12c [128];" (type_identifier "undefined") (array_declarator "auStack_12c [128]" (identifier "auStack_12c") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "undefined auStack_ac [128];" (type_identifier "undefined") (array_declarator "auStack_ac [128]" (identifier "auStack_ac") ([ "[") (number_literal "128") (] "]")) (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (expression_statement "puVar4 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar4 = PTR___stack_chk_guard_001464dc" (identifier "puVar4") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "puVar2 = PTR___environ_00145154;" (assignment_expression "puVar2 = PTR___environ_00145154" (identifier "puVar2") (= "=") (identifier "PTR___environ_00145154")) (; ";")) (expression_statement "piVar43 = (int *)PTR_job_control_001448a8;" (assignment_expression "piVar43 = (int *)PTR_job_control_001448a8" (identifier "piVar43") (= "=") (cast_expression "(int *)PTR_job_control_001448a8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_job_control_001448a8"))) (; ";")) (expression_statement "puVar40 = auStack_ac;" (assignment_expression "puVar40 = auStack_ac" (identifier "puVar40") (= "=") (identifier "auStack_ac")) (; ";")) (expression_statement "puVar33 = auStack_12c;" (assignment_expression "puVar33 = auStack_12c" (identifier "puVar33") (= "=") (identifier "auStack_12c")) (; ";")) (expression_statement "local_2c = *(uint *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(uint *)PTR___stack_chk_guard_001464dc" (identifier "local_2c") (= "=") (pointer_expression "*(uint *)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(uint *)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar33);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar33)" (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 "(puVar33)" (( "(") (identifier "puVar33") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigaddset_00146364)(puVar33,0x12);" (call_expression "(*(code *)PTR_sigaddset_00146364)(puVar33,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 "(puVar33,0x12)" (( "(") (identifier "puVar33") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigemptyset_001462d4)(puVar40);" (call_expression "(*(code *)PTR_sigemptyset_001462d4)(puVar40)" (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 "(puVar40)" (( "(") (identifier "puVar40") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40)" (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,puVar33,puVar40)" (( "(") (number_literal "1") (, ",") (identifier "puVar33") (, ",") (identifier "puVar40") () ")"))) (; ";")) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" (identifier "iVar5") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + -0x70d8) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d8) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d8)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x70d8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x70d8)" (( "(") (binary_expression "puVar2 + -0x70d8" (identifier "puVar2") (+ "+") (number_literal "-0x70d8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar2 + -0x70d4) = 0;" (assignment_expression "*(undefined4 *)(puVar2 + -0x70d4) = 0" (pointer_expression "*(undefined4 *)(puVar2 + -0x70d4)" (* "*") (cast_expression "(undefined4 *)(puVar2 + -0x70d4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x70d4)" (( "(") (binary_expression "puVar2 + -0x70d4" (identifier "puVar2") (+ "+") (number_literal "-0x70d4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }\n  else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" (if "if") (parenthesized_expression "((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0))" (( "(") (binary_expression "(iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)" (( "(") (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 4) != 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 4)" (( "(") (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 4" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" (* "*") (cast_expression "(uint *)PTR_subshell_environment_00144674" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_subshell_environment_00144674"))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    puVar33 = PTR_LAB_00144ff0 + 0x4a64;\n    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);\n    unaff_s6 = (int *)PTR___environ_00145154;\n    if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }\n    if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }\n    iVar5 = *piVar21;\n  }" ({ "{") (expression_statement "puVar33 = PTR_LAB_00144ff0 + 0x4a64;" (assignment_expression "puVar33 = PTR_LAB_00144ff0 + 0x4a64" (identifier "puVar33") (= "=") (binary_expression "PTR_LAB_00144ff0 + 0x4a64" (identifier "PTR_LAB_00144ff0") (+ "+") (number_literal "0x4a64"))) (; ";")) (expression_statement "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);" (assignment_expression "puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (identifier "puVar6") (= "=") (cast_expression "(undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2,PTR_LAB_00144ff0 + 0x4a64)" (( "(") (number_literal "2") (, ",") (binary_expression "PTR_LAB_00144ff0 + 0x4a64" (identifier "PTR_LAB_00144ff0") (+ "+") (number_literal "0x4a64")) () ")"))))) (; ";")) (expression_statement "unaff_s6 = (int *)PTR___environ_00145154;" (assignment_expression "unaff_s6 = (int *)PTR___environ_00145154" (identifier "unaff_s6") (= "=") (cast_expression "(int *)PTR___environ_00145154" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___environ_00145154"))) (; ";")) (if_statement "if (puVar6 == puVar33) {\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }\n    else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" (if "if") (parenthesized_expression "(puVar6 == puVar33)" (( "(") (binary_expression "puVar6 == puVar33" (identifier "puVar6") (== "==") (identifier "puVar33")) () ")")) (compound_statement "{\n      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);\n      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n    }" ({ "{") (expression_statement "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);" (assignment_expression "puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460)" (identifier "puVar6") (= "=") (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" (( "(") (binary_expression "PTR___environ_00145154 + -0x70dc" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" (else "else") (compound_statement "{\n      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;\n      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;\n    }" ({ "{") (expression_statement "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;" (assignment_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar6")) (; ";")) (expression_statement "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)((int)unaff_s6 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)((int)unaff_s6 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + -0x70dc)" (( "(") (binary_expression "(int)unaff_s6 + -0x70dc" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (puVar6 == (undefined *)0x1) {\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" (if "if") (parenthesized_expression "(puVar6 == (undefined *)0x1)" (( "(") (binary_expression "puVar6 == (undefined *)0x1" (identifier "puVar6") (== "==") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n      (*(code *)PTR_set_signal_handler_00144848)(2,1);\n    }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2,1)" (( "(") (number_literal "2") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" (identifier "piVar21") (= "=") (cast_expression "(int *)PTR_terminating_signal_00144834" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_terminating_signal_00144834"))) (; ";")) (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" (identifier "local_144") (= "=") (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" (* "*") (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_last_command_exit_value_001445e0")))) (; ";")) (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" (if "if") (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" (( "(") (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" (( "(") (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" (* "*") (cast_expression "(int *)PTR_interactive_00144590" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interactive_00144590"))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar43 == 0)" (( "(") (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }\n      if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }\n    }" ({ "{") (if_statement "if (*(int *)PTR_terminating_signal_00144834 != 0) {\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" (if "if") (parenthesized_expression "(*(int *)PTR_terminating_signal_00144834 != 0)" (( "(") (binary_expression "*(int *)PTR_terminating_signal_00144834 != 0" (pointer_expression "*(int *)PTR_terminating_signal_00144834" (* "*") (cast_expression "(int *)PTR_terminating_signal_00144834" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_terminating_signal_00144834"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);\n      }" ({ "{") (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" (( "(") (pointer_expression "*(code *)PTR_termsig_handler_00144838" (* "*") (cast_expression "(code *)PTR_termsig_handler_00144838" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_termsig_handler_00144838"))) () ")")) (argument_list "(*(undefined4 *)PTR_terminating_signal_00144834)" (( "(") (pointer_expression "*(undefined4 *)PTR_terminating_signal_00144834" (* "*") (cast_expression "(undefined4 *)PTR_terminating_signal_00144834" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_terminating_signal_00144834"))) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" (if "if") (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" (( "(") (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" (* "*") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_throw_to_top_level_00144840)();\n      }" ({ "{") (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" (( "(") (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" (* "*") (cast_expression "(code *)PTR_throw_to_top_level_00144840" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_throw_to_top_level_00144840"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar5 = *piVar21;" (assignment_expression "iVar5 = *piVar21" (identifier "iVar5") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (} "}")) (else_clause "else {\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" (else "else") (compound_statement "{\n    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;\n    iVar5 = *(int *)PTR_terminating_signal_00144834;\n    piVar21 = (int *)PTR_terminating_signal_00144834;\n  }" ({ "{") (expression_statement "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;" (assignment_expression "local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0" (identifier "local_144") (= "=") (pointer_expression "*(undefined1 **)PTR_last_command_exit_value_001445e0" (* "*") (cast_expression "(undefined1 **)PTR_last_command_exit_value_001445e0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_last_command_exit_value_001445e0")))) (; ";")) (expression_statement "iVar5 = *(int *)PTR_terminating_signal_00144834;" (assignment_expression "iVar5 = *(int *)PTR_terminating_signal_00144834" (identifier "iVar5") (= "=") (pointer_expression "*(int *)PTR_terminating_signal_00144834" (* "*") (cast_expression "(int *)PTR_terminating_signal_00144834" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_terminating_signal_00144834")))) (; ";")) (expression_statement "piVar21 = (int *)PTR_terminating_signal_00144834;" (assignment_expression "piVar21 = (int *)PTR_terminating_signal_00144834" (identifier "piVar21") (= "=") (cast_expression "(int *)PTR_terminating_signal_00144834" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_terminating_signal_00144834"))) (; ";")) (} "}")))) (if_statement "if (iVar5 != 0) {\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n  }" ({ "{") (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" (( "(") (pointer_expression "*(code *)PTR_termsig_handler_00144838" (* "*") (cast_expression "(code *)PTR_termsig_handler_00144838" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_termsig_handler_00144838"))) () ")")) (argument_list "(*piVar21)" (( "(") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = PTR_wait_intr_flag_00145168;" (assignment_expression "puVar3 = PTR_wait_intr_flag_00145168" (identifier "puVar3") (= "=") (identifier "PTR_wait_intr_flag_00145168")) (; ";")) (expression_statement "puVar38 = PTR___environ_00145154;" (assignment_expression "puVar38 = PTR___environ_00145154" (identifier "puVar38") (= "=") (identifier "PTR___environ_00145154")) (; ";")) (expression_statement "puVar1 = PTR_wait_builtin_00145150;" (assignment_expression "puVar1 = PTR_wait_builtin_00145150" (identifier "puVar1") (= "=") (identifier "PTR_wait_builtin_00145150")) (; ";")) (expression_statement "puVar6 = PTR_this_shell_builtin_00144a84;" (assignment_expression "puVar6 = PTR_this_shell_builtin_00144a84" (identifier "puVar6") (= "=") (identifier "PTR_this_shell_builtin_00144a84")) (; ";")) (if_statement "if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }\n  else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" (if "if") (parenthesized_expression "((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150))" (( "(") (binary_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||\n     (puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" (parenthesized_expression "(((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0))" (( "(") (binary_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||\n      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" (parenthesized_expression "((*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0))" (( "(") (binary_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0) ||\n       (*(int *)PTR_wait_signal_received_00145164 == 0)" (parenthesized_expression "(*(int *)PTR_wait_intr_flag_00145168 == 0)" (( "(") (binary_expression "*(int *)PTR_wait_intr_flag_00145168 == 0" (pointer_expression "*(int *)PTR_wait_intr_flag_00145168" (* "*") (cast_expression "(int *)PTR_wait_intr_flag_00145168" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_wait_intr_flag_00145168"))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 == 0)" (( "(") (binary_expression "*(int *)PTR_wait_signal_received_00145164 == 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" (* "*") (cast_expression "(int *)PTR_wait_signal_received_00145164" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_wait_signal_received_00145164"))) (== "==") (number_literal "0")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)" (( "(") (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" (* "*") (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_this_shell_builtin_00144a84"))) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)" (( "(") (comma_expression "puVar35 = puVar40, puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar35 = puVar40" (identifier "puVar35") (= "=") (identifier "puVar40")) (, ",") (comma_expression "puVar39 = puVar2,\n     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (assignment_expression "puVar39 = puVar2" (identifier "puVar39") (= "=") (identifier "puVar2")) (, ",") (binary_expression "*(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150" (pointer_expression "*(undefined **)PTR_this_shell_builtin_00144a84" (* "*") (cast_expression "(undefined **)PTR_this_shell_builtin_00144a84" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_this_shell_builtin_00144a84"))) (!= "!=") (identifier "PTR_wait_builtin_00145150")))) () ")"))) () ")")) (compound_statement "{\n    unaff_s8 = 0;\n    puVar35 = (undefined *)0xffffffff;\n    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);\n    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);\n    do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);\n    piVar45 = (int *)PTR___environ_00145154;\n    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }\nLAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;\n    puVar28 = PTR_data_start_00144568;\n    (*(code *)PTR_set_signal_handler_00144848)(2);\n    *(undefined **)(puVar28 + 0x460) = puVar34;\n    piVar45[-0x1c37] = 0;\n    unaff_s6 = piVar45;\nLAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }\n    if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }\n    puVar10 = puVar35;\n    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }\n  }" ({ "{") (expression_statement "unaff_s8 = 0;" (assignment_expression "unaff_s8 = 0" (identifier "unaff_s8") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar35 = (undefined *)0xffffffff;" (assignment_expression "puVar35 = (undefined *)0xffffffff" (identifier "puVar35") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);" (assignment_expression "pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78)" (identifier "pcVar7") (= "=") (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x7f78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00144ff0 + 0x7f78)" (( "(") (binary_expression "PTR_LAB_00144ff0 + 0x7f78" (identifier "PTR_LAB_00144ff0") (+ "+") (number_literal "0x7f78")) () ")")))) (; ";")) (expression_statement "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c)" (identifier "pcVar8") (= "=") (cast_expression "(code *)(PTR_LAB_00144ff0 + 0x403c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00144ff0 + 0x403c)" (( "(") (binary_expression "PTR_LAB_00144ff0 + 0x403c" (identifier "PTR_LAB_00144ff0") (+ "+") (number_literal "0x403c")) () ")")))) (; ";")) (do_statement "do {\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    } while (iVar20 == 1);" (do "do") (compound_statement "{\n      do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);\n      if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      param_4 = (int *)PTR_jobs_00144e5c;\n    }" ({ "{") (do_statement "do {\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      } while (*(int *)(unaff_s8 + 0xc) == 1);" (do "do") (compound_statement "{\n        puVar33 = (undefined *)0xffffffff;\n        iVar5 = *(int *)(puVar38 + -0x70dc);\n        puVar39 = puVar38;\n        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;\n        unaff_s8 = (*pcVar8)(param_1,0,0);\n        puVar10 = PTR_wait_for_background_pids_00145158;\n        puVar34 = PTR_data_start_00144568;\n        if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }\n        iVar20 = *(int *)(unaff_s8 + 0xc);\n        if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }\nLAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }\n        if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }\n        puVar34 = PTR_wait_for_background_pids_00145158;\n        puVar28 = PTR_data_start_00144568;\n        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;\n        if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }\n      }" ({ "{") (expression_statement "puVar33 = (undefined *)0xffffffff;" (assignment_expression "puVar33 = (undefined *)0xffffffff" (identifier "puVar33") (= "=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")"))))) (; ";")) (expression_statement "puVar39 = puVar38;" (assignment_expression "puVar39 = puVar38" (identifier "puVar39") (= "=") (identifier "puVar38")) (; ";")) (if_statement "if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;" (if "if") (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" (( "(") (binary_expression "param_1 == (undefined *)0xffffffff" (identifier "param_1") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto LAB_0006a0c8;" (goto "goto") (statement_identifier "LAB_0006a0c8") (; ";"))) (expression_statement "unaff_s8 = (*pcVar8)(param_1,0,0);" (assignment_expression "unaff_s8 = (*pcVar8)(param_1,0,0)" (identifier "unaff_s8") (= "=") (call_expression "(*pcVar8)(param_1,0,0)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(param_1,0,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "puVar10 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" (identifier "puVar10") (= "=") (identifier "PTR_wait_for_background_pids_00145158")) (; ";")) (expression_statement "puVar34 = PTR_data_start_00144568;" (assignment_expression "puVar34 = PTR_data_start_00144568" (identifier "puVar34") (= "=") (identifier "PTR_data_start_00144568")) (; ";")) (if_statement "if (unaff_s8 == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" (if "if") (parenthesized_expression "(unaff_s8 == 0)" (( "(") (binary_expression "unaff_s8 == 0" (identifier "unaff_s8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);\n          internal_error(uVar30,param_1);\n          puVar40 = *(undefined **)(puVar34 + 0x460);\n          if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a040;\n        }" ({ "{") (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (identifier "give_terminal_to") (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (( "(") (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" (* "*") (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_shell_pgrp_001448ac"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar40") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);" (assignment_expression "uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00146498" (* "*") (cast_expression "(code *)PTR_dcgettext_00146498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00146498"))) () ")")) (argument_list "(0,PTR_LAB_00144578 + 0x7cdc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_00144578 + 0x7cdc" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x7cdc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar30,param_1);" (call_expression "internal_error(uVar30,param_1)" (identifier "internal_error") (argument_list "(uVar30,param_1)" (( "(") (identifier "uVar30") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "puVar40 = *(undefined **)(puVar34 + 0x460);" (assignment_expression "puVar40 = *(undefined **)(puVar34 + 0x460)" (identifier "puVar40") (= "=") (pointer_expression "*(undefined **)(puVar34 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar34 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar34 + 0x460)" (( "(") (binary_expression "puVar34 + 0x460" (identifier "puVar34") (+ "+") (number_literal "0x460")) () ")"))))) (; ";")) (if_statement "if (puVar40 == puVar10) {\n            local_144 = (undefined1 *)0x7f;\n          }\n          else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" (if "if") (parenthesized_expression "(puVar40 == puVar10)" (( "(") (binary_expression "puVar40 == puVar10" (identifier "puVar40") (== "==") (identifier "puVar10")) () ")")) (compound_statement "{\n            local_144 = (undefined1 *)0x7f;\n          }" ({ "{") (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)0x7f" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            local_144 = (undefined1 *)0x7f;\n            *(undefined **)(puVar34 + 0x460) = puVar10;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_144 = (undefined1 *)0x7f;" (assignment_expression "local_144 = (undefined1 *)0x7f" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)0x7f" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f"))) (; ";")) (expression_statement "*(undefined **)(puVar34 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar34 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar34 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar34 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar34 + 0x460)" (( "(") (binary_expression "puVar34 + 0x460" (identifier "puVar34") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" (( "(") (binary_expression "PTR___environ_00145154 + -0x70dc" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0006a040;" (goto "goto") (statement_identifier "LAB_0006a040") (; ";")) (} "}"))) (expression_statement "iVar20 = *(int *)(unaff_s8 + 0xc);" (assignment_expression "iVar20 = *(int *)(unaff_s8 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(unaff_s8 + 0xc)" (* "*") (cast_expression "(int *)(unaff_s8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 0xc)" (( "(") (binary_expression "unaff_s8 + 0xc" (identifier "unaff_s8") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (puVar35 == puVar33) {\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }\n        else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(puVar35 == puVar33)" (( "(") (binary_expression "puVar35 == puVar33" (identifier "puVar35") (== "==") (identifier "puVar33")) () ")")) (compound_statement "{\n          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }\n          iVar5 = *(int *)(puVar38 + -0x70dc);\n          if (iVar20 == 1) goto LAB_0006a0c8;\n        }" ({ "{") (if_statement "if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" (if "if") (parenthesized_expression "(0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18))" (( "(") (binary_expression "0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)" (number_literal "0") (< "<") (cast_expression "(int)*(undefined **)(PTR_js_00144e58 + 0x18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" (* "*") (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_js_00144e58 + 0x18)" (( "(") (binary_expression "PTR_js_00144e58 + 0x18" (identifier "PTR_js_00144e58") (+ "+") (number_literal "0x18")) () ")")))))) () ")")) (compound_statement "{\n            puVar33 = (undefined *)0x0;\n            param_4 = *(int **)PTR_jobs_00144e5c;\n            do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);\n          }" ({ "{") (expression_statement "puVar33 = (undefined *)0x0;" (assignment_expression "puVar33 = (undefined *)0x0" (identifier "puVar33") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(int **)PTR_jobs_00144e5c" (identifier "param_4") (= "=") (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")))) (; ";")) (do_statement "do {\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);" (do "do") (compound_statement "{\n              iVar9 = *param_4;\n              if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }\n              puVar33 = puVar33 + 1;\n              param_4 = param_4 + 1;\n            }" ({ "{") (expression_statement "iVar9 = *param_4;" (assignment_expression "iVar9 = *param_4" (identifier "iVar9") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (if_statement "if (iVar9 != 0) {\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar45 = *(int **)(iVar9 + 4);\n                do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);\n              }" ({ "{") (expression_statement "piVar45 = *(int **)(iVar9 + 4);" (assignment_expression "piVar45 = *(int **)(iVar9 + 4)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                } while (*(int **)(iVar9 + 4) != piVar45);" (do "do") (compound_statement "{\n                  if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }\n                  piVar45 = (int *)*piVar45;\n                }" ({ "{") (if_statement "if (param_1 == (undefined *)piVar45[1]) {\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" (if "if") (parenthesized_expression "(param_1 == (undefined *)piVar45[1])" (( "(") (binary_expression "param_1 == (undefined *)piVar45[1]" (identifier "param_1") (== "==") (cast_expression "(undefined *)piVar45[1]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar45[1]" (identifier "piVar45") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n                    if (iVar20 == 1) goto LAB_0006a0c0;\n                    goto LAB_00069c50;\n                  }" ({ "{") (if_statement "if (iVar20 == 1) goto LAB_0006a0c0;" (if "if") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0006a0c0;" (goto "goto") (statement_identifier "LAB_0006a0c0") (; ";"))) (goto_statement "goto LAB_00069c50;" (goto "goto") (statement_identifier "LAB_00069c50") (; ";")) (} "}"))) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" (identifier "piVar45") (= "=") (cast_expression "(int *)*piVar45" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar45" (* "*") (identifier "piVar45")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar9 + 4) != piVar45)" (( "(") (binary_expression "*(int **)(iVar9 + 4) != piVar45" (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar45")) () ")")) (; ";")) (} "}"))) (expression_statement "puVar33 = puVar33 + 1;" (assignment_expression "puVar33 = puVar33 + 1" (identifier "puVar33") (= "=") (binary_expression "puVar33 + 1" (identifier "puVar33") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "param_4 = param_4 + 1;" (assignment_expression "param_4 = param_4 + 1" (identifier "param_4") (= "=") (binary_expression "param_4 + 1" (identifier "param_4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33)" (( "(") (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x18)" (* "*") (cast_expression "(undefined **)(PTR_js_00144e58 + 0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_js_00144e58 + 0x18)" (( "(") (binary_expression "PTR_js_00144e58 + 0x18" (identifier "PTR_js_00144e58") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (identifier "puVar33")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")"))))) (; ";")) (if_statement "if (iVar20 == 1) goto LAB_0006a0c8;" (if "if") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0006a0c8;" (goto "goto") (statement_identifier "LAB_0006a0c8") (; ";"))) (} "}")) (else_clause "else {\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          puVar33 = puVar35;\n          if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }\nLAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;\n          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;\n          iVar5 = (*pcVar7)(1);\n          *(undefined4 *)(puVar38 + -0x7040) = 0;\n          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;\n          unaff_s6 = (int *)puVar38;\n          if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }\n        }" ({ "{") (expression_statement "puVar33 = puVar35;" (assignment_expression "puVar33 = puVar35" (identifier "puVar33") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if (iVar20 == 1) {\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }\n          else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" (if "if") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n          }" ({ "{") (labeled_statement "LAB_0006a0c0:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" (statement_identifier "LAB_0006a0c0") (: ":") (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")"))))) (; ";"))) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" (identifier "puVar35") (= "=") (identifier "puVar33")) (; ";")) (} "}")) (else_clause "else {\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" (else "else") (compound_statement "{\n            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);\nLAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);\n            puVar35 = puVar33;\n            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;\n          }" ({ "{") (expression_statement "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" (* "*") (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4)" (( "(") (binary_expression "*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4" (pointer_expression "*(int *)PTR_jobs_00144e5c" (* "*") (cast_expression "(int *)PTR_jobs_00144e5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_jobs_00144e5c"))) (+ "+") (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar35")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (labeled_statement "LAB_00069c50:\n            iVar5 = *(int *)(puVar38 + -0x70dc);" (statement_identifier "LAB_00069c50") (: ":") (expression_statement "iVar5 = *(int *)(puVar38 + -0x70dc);" (assignment_expression "iVar5 = *(int *)(puVar38 + -0x70dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")"))))) (; ";"))) (expression_statement "puVar35 = puVar33;" (assignment_expression "puVar35 = puVar33" (identifier "puVar35") (= "=") (identifier "puVar33")) (; ";")) (if_statement "if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0xc) != 1)" (( "(") (binary_expression "*(int *)(iVar9 + 0xc) != 1" (pointer_expression "*(int *)(iVar9 + 0xc)" (* "*") (cast_expression "(int *)(iVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_00069c60;" (goto "goto") (statement_identifier "LAB_00069c60") (; ";"))) (} "}")))) (labeled_statement "LAB_0006a0c8:\n          *(undefined4 *)(puVar38 + -0x7040) = 1;" (statement_identifier "LAB_0006a0c8") (: ":") (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 1;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 1" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" (* "*") (cast_expression "(undefined4 *)(puVar38 + -0x7040)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x7040)" (( "(") (binary_expression "puVar38 + -0x7040" (identifier "puVar38") (+ "+") (number_literal "-0x7040")) () ")")))) (= "=") (number_literal "1")) (; ";"))) (expression_statement "*(int *)(puVar38 + -0x70dc) = iVar5 + 1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = iVar5 + 1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar5 = (*pcVar7)(1);" (assignment_expression "iVar5 = (*pcVar7)(1)" (identifier "iVar5") (= "=") (call_expression "(*pcVar7)(1)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar38 + -0x7040) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x7040) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x7040)" (* "*") (cast_expression "(undefined4 *)(puVar38 + -0x7040)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x7040)" (( "(") (binary_expression "puVar38 + -0x7040" (identifier "puVar38") (+ "+") (number_literal "-0x7040")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;" (assignment_expression "*(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (binary_expression "*(int *)(puVar38 + -0x70dc) + -1" (pointer_expression "*(int *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(int *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "unaff_s6 = (int *)puVar38;" (assignment_expression "unaff_s6 = (int *)puVar38" (identifier "unaff_s6") (= "=") (cast_expression "(int *)puVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar38"))) (; ";")) (if_statement "if ((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" (if "if") (parenthesized_expression "((iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10))" (( "(") (binary_expression "(iVar5 == -1) &&\n             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "(piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10)" (( "(") (comma_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),\n             puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)()" (identifier "piVar45") (= "=") (cast_expression "(int *)(*(code *)PTR___errno_location_0014633c)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_0014633c)()" (parenthesized_expression "(*(code *)PTR___errno_location_0014633c)" (( "(") (pointer_expression "*(code *)PTR___errno_location_0014633c" (* "*") (cast_expression "(code *)PTR___errno_location_0014633c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_0014633c"))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (comma_expression "puVar10 = PTR_wait_for_background_pids_00145158, puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar10 = PTR_wait_for_background_pids_00145158" (identifier "puVar10") (= "=") (identifier "PTR_wait_for_background_pids_00145158")) (, ",") (comma_expression "puVar33 = PTR_js_00144e58,\n             puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar33 = PTR_js_00144e58" (identifier "puVar33") (= "=") (identifier "PTR_js_00144e58")) (, ",") (comma_expression "puVar28 = PTR_data_start_00144568, *piVar45 == 10" (assignment_expression "puVar28 = PTR_data_start_00144568" (identifier "puVar28") (= "=") (identifier "PTR_data_start_00144568")) (, ",") (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (== "==") (number_literal "10")))))) () ")"))) () ")")) (compound_statement "{\n            if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }\n            if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }\n            *(undefined4 *)(puVar33 + 4) = 0;\n            if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }\n            if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }\n          }" ({ "{") (if_statement "if (*(undefined **)puVar6 == puVar1) {\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" (if "if") (parenthesized_expression "(*(undefined **)puVar6 == puVar1)" (( "(") (binary_expression "*(undefined **)puVar6 == puVar1" (pointer_expression "*(undefined **)puVar6" (* "*") (cast_expression "(undefined **)puVar6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6"))) (== "==") (identifier "puVar1")) () ")")) (compound_statement "{\n              puVar34 = puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }\n              goto LAB_0006a02c;\n            }" ({ "{") (expression_statement "puVar34 = puVar38;" (assignment_expression "puVar34 = puVar38" (identifier "puVar34") (= "=") (identifier "puVar38")) (; ";")) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) {\n                local_144 = (undefined1 *)0xffffffff;\n              }\n              else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" (if "if") (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" (( "(") (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (== "==") (identifier "PTR_wait_for_background_pids_00145158")) () ")")) (compound_statement "{\n                local_144 = (undefined1 *)0xffffffff;\n              }" ({ "{") (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}")) (else_clause "else {\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" (else "else") (compound_statement "{\n                (*(code *)PTR_set_signal_handler_00144848)(2);\n                local_144 = (undefined1 *)0xffffffff;\n                *(undefined **)(puVar28 + 0x460) = puVar10;\n                *(undefined4 *)(puVar38 + -0x70dc) = 0;\n              }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "local_144 = (undefined1 *)0xffffffff;" (assignment_expression "local_144 = (undefined1 *)0xffffffff" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar10;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar10" (pointer_expression "*(undefined **)(puVar28 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar28 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar38 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(puVar38 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(puVar38 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(puVar38 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar38 + -0x70dc)" (( "(") (binary_expression "puVar38 + -0x70dc" (identifier "puVar38") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (goto_statement "goto LAB_0006a02c;" (goto "goto") (statement_identifier "LAB_0006a02c") (; ";")) (} "}"))) (if_statement "if (unaff_s8 != 0) {\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" (if "if") (parenthesized_expression "(unaff_s8 != 0)" (( "(") (binary_expression "unaff_s8 != 0" (identifier "unaff_s8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(undefined4 *)(unaff_s8 + 0xc) = 0;\n              *(undefined4 *)(unaff_s8 + 8) = 0;\n            }" ({ "{") (expression_statement "*(undefined4 *)(unaff_s8 + 0xc) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 0xc) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 0xc)" (* "*") (cast_expression "(undefined4 *)(unaff_s8 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 0xc)" (( "(") (binary_expression "unaff_s8 + 0xc" (identifier "unaff_s8") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(unaff_s8 + 8) = 0;" (assignment_expression "*(undefined4 *)(unaff_s8 + 8) = 0" (pointer_expression "*(undefined4 *)(unaff_s8 + 8)" (* "*") (cast_expression "(undefined4 *)(unaff_s8 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 8)" (( "(") (binary_expression "unaff_s8 + 8" (identifier "unaff_s8") (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar33 + 4) = 0;" (assignment_expression "*(undefined4 *)(puVar33 + 4) = 0" (pointer_expression "*(undefined4 *)(puVar33 + 4)" (* "*") (cast_expression "(undefined4 *)(puVar33 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 4)" (( "(") (binary_expression "puVar33 + 4" (identifier "puVar33") (+ "+") (number_literal "4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" (if "if") (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" (( "(") (binary_expression "puVar35 != (undefined *)0xffffffff" (identifier "puVar35") (!= "!=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              iVar5 = *(int *)(puVar33 + 0x28);\n              param_4 = *(int **)PTR_jobs_00144e5c;\n              iVar20 = param_4[(int)puVar35];\n              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;\n              *(undefined4 *)(iVar20 + 0xc) = 4;\n              *(int *)(puVar33 + 0x28) = iVar5 + 1;\n            }" ({ "{") (expression_statement "iVar5 = *(int *)(puVar33 + 0x28);" (assignment_expression "iVar5 = *(int *)(puVar33 + 0x28)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar33 + 0x28)" (* "*") (cast_expression "(int *)(puVar33 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x28)" (( "(") (binary_expression "puVar33 + 0x28" (identifier "puVar33") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "param_4 = *(int **)PTR_jobs_00144e5c;" (assignment_expression "param_4 = *(int **)PTR_jobs_00144e5c" (identifier "param_4") (= "=") (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 "iVar20 = param_4[(int)puVar35];" (assignment_expression "iVar20 = param_4[(int)puVar35]" (identifier "iVar20") (= "=") (subscript_expression "param_4[(int)puVar35]" (identifier "param_4") ([ "[") (cast_expression "(int)puVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar35")) (] "]"))) (; ";")) (expression_statement "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;" (assignment_expression "*(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" (* "*") (cast_expression "(int *)(puVar33 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 8)" (( "(") (binary_expression "puVar33 + 8" (identifier "puVar33") (+ "+") (number_literal "8")) () ")")))) (= "=") (binary_expression "*(int *)(puVar33 + 8) + 1" (pointer_expression "*(int *)(puVar33 + 8)" (* "*") (cast_expression "(int *)(puVar33 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 8)" (( "(") (binary_expression "puVar33 + 8" (identifier "puVar33") (+ "+") (number_literal "8")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(undefined4 *)(iVar20 + 0xc) = 4;" (assignment_expression "*(undefined4 *)(iVar20 + 0xc) = 4" (pointer_expression "*(undefined4 *)(iVar20 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar20 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "4")) (; ";")) (expression_statement "*(int *)(puVar33 + 0x28) = iVar5 + 1;" (assignment_expression "*(int *)(puVar33 + 0x28) = iVar5 + 1" (pointer_expression "*(int *)(puVar33 + 0x28)" (* "*") (cast_expression "(int *)(puVar33 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x28)" (( "(") (binary_expression "puVar33 + 0x28" (identifier "puVar33") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" (if "if") (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" (( "(") (binary_expression "param_1 == (undefined *)0xffffffff" (identifier "param_1") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n              puVar28 = PTR_data_start_00144568;\n              puVar34 = PTR_wait_for_background_pids_00145158;\n              piVar45 = (int *)puVar38;\n              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;\n              goto LAB_00069d30;\n            }" ({ "{") (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" (identifier "puVar28") (= "=") (identifier "PTR_data_start_00144568")) (; ";")) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" (identifier "puVar34") (= "=") (identifier "PTR_wait_for_background_pids_00145158")) (; ";")) (expression_statement "piVar45 = (int *)puVar38;" (assignment_expression "piVar45 = (int *)puVar38" (identifier "piVar45") (= "=") (cast_expression "(int *)puVar38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar38"))) (; ";")) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158) goto LAB_00069d48;" (if "if") (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158)" (( "(") (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) ==\n                  PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (== "==") (identifier "PTR_wait_for_background_pids_00145158")) () ")")) (goto_statement "goto LAB_00069d48;" (goto "goto") (statement_identifier "LAB_00069d48") (; ";"))) (goto_statement "goto LAB_00069d30;" (goto "goto") (statement_identifier "LAB_00069d30") (; ";")) (} "}"))) (} "}"))) (} "}")))) (labeled_statement "LAB_00069c60:\n        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" (statement_identifier "LAB_00069c60") (: ":") (if_statement "if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0))" (( "(") (binary_expression "(*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)" (parenthesized_expression "(*(int *)PTR_interactive_00144590 != 0)" (( "(") (binary_expression "*(int *)PTR_interactive_00144590 != 0" (pointer_expression "*(int *)PTR_interactive_00144590" (* "*") (cast_expression "(int *)PTR_interactive_00144590" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interactive_00144590"))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*piVar43 == 0)" (( "(") (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }\n          if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }\n        }" ({ "{") (if_statement "if (*piVar21 != 0) {\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n          }" ({ "{") (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" (( "(") (pointer_expression "*(code *)PTR_termsig_handler_00144838" (* "*") (cast_expression "(code *)PTR_termsig_handler_00144838" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_termsig_handler_00144838"))) () ")")) (argument_list "(*piVar21)" (( "(") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)PTR_interrupt_state_0014483c != 0) {\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" (if "if") (parenthesized_expression "(*(int *)PTR_interrupt_state_0014483c != 0)" (( "(") (binary_expression "*(int *)PTR_interrupt_state_0014483c != 0" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" (* "*") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR_throw_to_top_level_00144840)();\n          }" ({ "{") (expression_statement "(*(code *)PTR_throw_to_top_level_00144840)();" (call_expression "(*(code *)PTR_throw_to_top_level_00144840)()" (parenthesized_expression "(*(code *)PTR_throw_to_top_level_00144840)" (( "(") (pointer_expression "*(code *)PTR_throw_to_top_level_00144840" (* "*") (cast_expression "(code *)PTR_throw_to_top_level_00144840" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_throw_to_top_level_00144840"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (if_statement "if (*piVar21 != 0) {\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR_termsig_handler_00144838)(*piVar21);\n        }" ({ "{") (expression_statement "(*(code *)PTR_termsig_handler_00144838)(*piVar21);" (call_expression "(*(code *)PTR_termsig_handler_00144838)(*piVar21)" (parenthesized_expression "(*(code *)PTR_termsig_handler_00144838)" (( "(") (pointer_expression "*(code *)PTR_termsig_handler_00144838" (* "*") (cast_expression "(code *)PTR_termsig_handler_00144838" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_termsig_handler_00144838"))) () ")")) (argument_list "(*piVar21)" (( "(") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) () ")"))) (; ";")) (} "}"))) (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" (identifier "puVar34") (= "=") (identifier "PTR_wait_for_background_pids_00145158")) (; ";")) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" (identifier "puVar28") (= "=") (identifier "PTR_data_start_00144568")) (; ";")) (if_statement "if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;" (if "if") (parenthesized_expression "((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1))" (( "(") (binary_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&\n           (puVar33 = puVar38, puVar10 == puVar1)" (parenthesized_expression "(((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0))" (( "(") (binary_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&\n            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" (parenthesized_expression "((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0))" (( "(") (binary_expression "(*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)" (parenthesized_expression "(*(int *)puVar3 != 0)" (( "(") (binary_expression "*(int *)puVar3 != 0" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_wait_signal_received_00145164 != 0)" (( "(") (binary_expression "*(int *)PTR_wait_signal_received_00145164 != 0" (pointer_expression "*(int *)PTR_wait_signal_received_00145164" (* "*") (cast_expression "(int *)PTR_wait_signal_received_00145164" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_wait_signal_received_00145164"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)" (( "(") (comma_expression "puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0" (assignment_expression "puVar10 = *(undefined **)puVar6" (identifier "puVar10") (= "=") (pointer_expression "*(undefined **)puVar6" (* "*") (cast_expression "(undefined **)puVar6" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar6")))) (, ",") (binary_expression "puVar10 != (undefined *)0x0" (identifier "puVar10") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(puVar33 = puVar38, puVar10 == puVar1)" (( "(") (comma_expression "puVar33 = puVar38, puVar10 == puVar1" (assignment_expression "puVar33 = puVar38" (identifier "puVar33") (= "=") (identifier "puVar38")) (, ",") (binary_expression "puVar10 == puVar1" (identifier "puVar10") (== "==") (identifier "puVar1"))) () ")"))) () ")")) (goto_statement "goto LAB_0006a708;" (goto "goto") (statement_identifier "LAB_0006a708") (; ";"))) (if_statement "if (param_1 == (undefined *)0xffffffff) {\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" (if "if") (parenthesized_expression "(param_1 == (undefined *)0xffffffff)" (( "(") (binary_expression "param_1 == (undefined *)0xffffffff" (identifier "param_1") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n          puVar10 = puVar35;\n          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }\n          goto LAB_0006a02c;\n        }" ({ "{") (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" (identifier "puVar10") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158) {\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" (if "if") (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158)" (( "(") (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n              PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (!= "!=") (identifier "PTR_wait_for_background_pids_00145158")) () ")")) (compound_statement "{\n            (*(code *)PTR_set_signal_handler_00144848)(2);\n            *(undefined **)(puVar28 + 0x460) = puVar34;\n            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n          }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar28 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar34")) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" (( "(") (binary_expression "PTR___environ_00145154 + -0x70dc" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (goto_statement "goto LAB_0006a02c;" (goto "goto") (statement_identifier "LAB_0006a02c") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(*(int *)(unaff_s8 + 0xc) == 1)" (( "(") (binary_expression "*(int *)(unaff_s8 + 0xc) == 1" (pointer_expression "*(int *)(unaff_s8 + 0xc)" (* "*") (cast_expression "(int *)(unaff_s8 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 0xc)" (( "(") (binary_expression "unaff_s8 + 0xc" (identifier "unaff_s8") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "1")) () ")")) (; ";")) (if_statement "if (puVar35 == (undefined *)0xffffffff) {\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" (if "if") (parenthesized_expression "(puVar35 == (undefined *)0xffffffff)" (( "(") (binary_expression "puVar35 == (undefined *)0xffffffff" (identifier "puVar35") (== "==") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }\n        goto LAB_0006a2e0;\n      }" ({ "{") (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158) {\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" (if "if") (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158)" (( "(") (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) !=\n            PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (!= "!=") (identifier "PTR_wait_for_background_pids_00145158")) () ")")) (compound_statement "{\n          (*(code *)PTR_set_signal_handler_00144848)(2);\n          *(undefined **)(puVar28 + 0x460) = puVar34;\n          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n        }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar28 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar34")) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" (( "(") (binary_expression "PTR___environ_00145154 + -0x70dc" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (goto_statement "goto LAB_0006a2e0;" (goto "goto") (statement_identifier "LAB_0006a2e0") (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)puVar35 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar35 * 4)" (( "(") (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar35")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (( "(") (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" (* "*") (cast_expression "(int *)PTR_jobs_00144e5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_jobs_00144e5c"))) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" (identifier "param_4") (= "=") (cast_expression "(int *)PTR_jobs_00144e5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_jobs_00144e5c"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (; ";")) (expression_statement "piVar45 = (int *)PTR___environ_00145154;" (assignment_expression "piVar45 = (int *)PTR___environ_00145154" (identifier "piVar45") (= "=") (cast_expression "(int *)PTR___environ_00145154" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___environ_00145154"))) (; ";")) (if_statement "if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158) {\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" (if "if") (parenthesized_expression "(*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158)" (( "(") (binary_expression "*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_wait_for_background_pids_00145158" (pointer_expression "*(undefined **)(PTR_data_start_00144568 + 0x460)" (* "*") (cast_expression "(undefined **)(PTR_data_start_00144568 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_data_start_00144568 + 0x460)" (( "(") (binary_expression "PTR_data_start_00144568 + 0x460" (identifier "PTR_data_start_00144568") (+ "+") (number_literal "0x460")) () ")")))) (== "==") (identifier "PTR_wait_for_background_pids_00145158")) () ")")) (compound_statement "{\nLAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;\n      local_144 = (undefined1 *)job_exit_status(puVar35);\n      uVar11 = FUN_000641bc(puVar35);\n      uVar11 = uVar11 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      puVar33 = PTR_subshell_environment_00144674;\n      if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }\n      uVar11 = *(uint *)PTR_subshell_environment_00144674;\n      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }\n      piVar21 = (int *)PTR_interactive_shell_00144598;\n      if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }\n      if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }\n      iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      if (uVar11 != 0) goto LAB_0006a008;\n      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }\n      goto LAB_0006a01c;\n    }" ({ "{") (labeled_statement "LAB_00069d68:\n      param_4 = (int *)PTR_jobs_00144e5c;" (statement_identifier "LAB_00069d68") (: ":") (expression_statement "param_4 = (int *)PTR_jobs_00144e5c;" (assignment_expression "param_4 = (int *)PTR_jobs_00144e5c" (identifier "param_4") (= "=") (cast_expression "(int *)PTR_jobs_00144e5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_jobs_00144e5c"))) (; ";"))) (expression_statement "local_144 = (undefined1 *)job_exit_status(puVar35);" (assignment_expression "local_144 = (undefined1 *)job_exit_status(puVar35)" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)job_exit_status(puVar35)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "job_exit_status(puVar35)" (identifier "job_exit_status") (argument_list "(puVar35)" (( "(") (identifier "puVar35") () ")"))))) (; ";")) (expression_statement "uVar11 = FUN_000641bc(puVar35);" (assignment_expression "uVar11 = FUN_000641bc(puVar35)" (identifier "uVar11") (= "=") (call_expression "FUN_000641bc(puVar35)" (identifier "FUN_000641bc") (argument_list "(puVar35)" (( "(") (identifier "puVar35") () ")")))) (; ";")) (expression_statement "uVar11 = uVar11 & 0x7f;" (assignment_expression "uVar11 = uVar11 & 0x7f" (identifier "uVar11") (= "=") (binary_expression "uVar11 & 0x7f" (identifier "uVar11") (& "&") (number_literal "0x7f"))) (; ";")) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        uVar11 = 0;\n      }" (if "if") (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" (( "(") (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((char)uVar11 + '\x01')" (( "(") (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar11")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) (>> ">>") (number_literal "1")) (< "<") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n        uVar11 = 0;\n      }" ({ "{") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" (* "*") (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_last_command_exit_signal_0014519c"))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "puVar33 = PTR_subshell_environment_00144674;" (assignment_expression "puVar33 = PTR_subshell_environment_00144674" (identifier "puVar33") (= "=") (identifier "PTR_subshell_environment_00144674")) (; ";")) (if_statement "if (iVar20 == 2) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }\n      else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" (if "if") (parenthesized_expression "(iVar20 == 2)" (( "(") (binary_expression "iVar20 == 2" (identifier "iVar20") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\nLAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);\nLAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n      }" ({ "{") (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(unaff_s8 + 8)" (* "*") (cast_expression "(uint *)(unaff_s8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 8)" (( "(") (binary_expression "unaff_s8 + 8" (identifier "unaff_s8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (labeled_statement "LAB_0006a460:\n        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" (statement_identifier "LAB_0006a460") (: ":") (expression_statement "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uVar11 << 0x10) >> 0x18) + 0x80)" (( "(") (binary_expression "((uVar11 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar11 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar11 << 0x10) >> 0x18" (parenthesized_expression "(uVar11 << 0x10)" (( "(") (binary_expression "uVar11 << 0x10" (identifier "uVar11") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (+ "+") (number_literal "0x80")) () ")")))) (; ";"))) (labeled_statement "LAB_00069ddc:\n        iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (statement_identifier "LAB_00069ddc") (: ":") (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";"))) (} "}")) (else_clause "else if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" (else "else") (if_statement "if (unaff_s8 != 0) {\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" (if "if") (parenthesized_expression "(unaff_s8 != 0)" (( "(") (binary_expression "unaff_s8 != 0" (identifier "unaff_s8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar11 = *(uint *)(unaff_s8 + 8);\n        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;\n        goto LAB_00069ddc;\n      }" ({ "{") (expression_statement "uVar11 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar11 = *(uint *)(unaff_s8 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(unaff_s8 + 8)" (* "*") (cast_expression "(uint *)(unaff_s8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 8)" (( "(") (binary_expression "unaff_s8 + 8" (identifier "unaff_s8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;" (if "if") (parenthesized_expression "((uVar11 & 0xff) == 0x7f)" (( "(") (binary_expression "(uVar11 & 0xff) == 0x7f" (parenthesized_expression "(uVar11 & 0xff)" (( "(") (binary_expression "uVar11 & 0xff" (identifier "uVar11") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0x7f")) () ")")) (goto_statement "goto LAB_0006a460;" (goto "goto") (statement_identifier "LAB_0006a460") (; ";"))) (goto_statement "goto LAB_00069ddc;" (goto "goto") (statement_identifier "LAB_00069ddc") (; ";")) (} "}"))))) (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)PTR_subshell_environment_00144674" (* "*") (cast_expression "(uint *)PTR_subshell_environment_00144674" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_subshell_environment_00144674")))) (; ";")) (if_statement "if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))\n      {\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" (if "if") (parenthesized_expression "(((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))" (( "(") (binary_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0)" (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_running_in_background_001446f0 == 0)" (( "(") (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" (* "*") (cast_expression "(int *)PTR_running_in_background_001446f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_running_in_background_001446f0"))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }\n      }" ({ "{") (if_statement "if ((uVar11 & 0x11) == 0) {\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }\n        else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" (if "if") (parenthesized_expression "((uVar11 & 0x11) == 0)" (( "(") (binary_expression "(uVar11 & 0x11) == 0" (parenthesized_expression "(uVar11 & 0x11)" (( "(") (binary_expression "uVar11 & 0x11" (identifier "uVar11") (& "&") (number_literal "0x11")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n          uVar11 = *(uint *)puVar33;\n        }" ({ "{") (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (identifier "give_terminal_to") (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (( "(") (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" (* "*") (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_shell_pgrp_001448ac"))) (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar11 = *(uint *)puVar33;" (assignment_expression "uVar11 = *(uint *)puVar33" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)puVar33" (* "*") (cast_expression "(uint *)puVar33" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33")))) (; ";")) (} "}")) (else_clause "else {\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" (else "else") (compound_statement "{\n          uVar11 = *(uint *)PTR_subshell_environment_00144674;\n        }" ({ "{") (expression_statement "uVar11 = *(uint *)PTR_subshell_environment_00144674;" (assignment_expression "uVar11 = *(uint *)PTR_subshell_environment_00144674" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)PTR_subshell_environment_00144674" (* "*") (cast_expression "(uint *)PTR_subshell_environment_00144674" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_subshell_environment_00144674")))) (; ";")) (} "}")))) (} "}"))) (expression_statement "piVar21 = (int *)PTR_interactive_shell_00144598;" (assignment_expression "piVar21 = (int *)PTR_interactive_shell_00144598" (identifier "piVar21") (= "=") (cast_expression "(int *)PTR_interactive_shell_00144598" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interactive_shell_00144598"))) (; ";")) (if_statement "if (*(int *)PTR_interactive_shell_00144598 != 0) {\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" (if "if") (parenthesized_expression "(*(int *)PTR_interactive_shell_00144598 != 0)" (( "(") (binary_expression "*(int *)PTR_interactive_shell_00144598 != 0" (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"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }\nLAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n        iVar5 = *unaff_s6;\nLAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);\n        param_1 = puVar28;\n        goto LAB_0006a00c;\n      }" ({ "{") (if_statement "if (uVar11 == 0) {\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }\n        else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" (if "if") (parenthesized_expression "(uVar11 == 0)" (( "(") (binary_expression "uVar11 == 0" (identifier "uVar11") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          piVar45 = *(int **)(iVar5 + 4);\n          do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);\n          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }\nLAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;\n          iVar5 = signal_is_trapped(2);\n          param_1 = puVar28;\n          if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;\n          puVar28 = PTR_stdout_001462f8;\n          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);\n          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);\n        }" ({ "{") (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";")) (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(iVar5 + 4)" (* "*") (cast_expression "(int **)(iVar5 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          } while (*(int **)(iVar5 + 4) != piVar45);" (do "do") (compound_statement "{\n            puVar34 = (undefined *)(piVar45[2] & 0x7f);\n            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);\n            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }\n            piVar45 = (int *)*piVar45;\n          }" ({ "{") (expression_statement "puVar34 = (undefined *)(piVar45[2] & 0x7f);" (assignment_expression "puVar34 = (undefined *)(piVar45[2] & 0x7f)" (identifier "puVar34") (= "=") (cast_expression "(undefined *)(piVar45[2] & 0x7f)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar45[2] & 0x7f)" (( "(") (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" (identifier "piVar45") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0x7f")) () ")")))) (; ";")) (expression_statement "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);" (assignment_expression "puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" (identifier "puVar28") (= "=") (cast_expression "(undefined *)((int)(char)((char)puVar34 + '\x01') >> 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(char)((char)puVar34 + '\x01') >> 1)" (( "(") (binary_expression "(int)(char)((char)puVar34 + '\x01') >> 1" (cast_expression "(int)(char)((char)puVar34 + '\x01')" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)((char)puVar34 + '\x01')" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((char)puVar34 + '\x01')" (( "(") (binary_expression "(char)puVar34 + '\x01'" (cast_expression "(char)puVar34" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "puVar34")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")))) (>> ">>") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" (if "if") (parenthesized_expression "((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f))" (( "(") (binary_expression "(0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "(0 < (int)puVar28)" (( "(") (binary_expression "0 < (int)puVar28" (number_literal "0") (< "<") (cast_expression "(int)puVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar28"))) () ")")) (|| "||") (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" (( "(") (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" (( "(") (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" (identifier "piVar45") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xffU")) () ")")) (== "==") (number_literal "0x7f")) () ")"))) () ")")) (compound_statement "{\n              set_tty_state();\n              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;\n              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;\n              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n              goto LAB_00069ee4;\n            }" ({ "{") (expression_statement "set_tty_state();" (call_expression "set_tty_state()" (identifier "set_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;" (if "if") (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 == 0)" (( "(") (binary_expression "*(int *)PTR_check_window_size_00144af0 == 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" (* "*") (cast_expression "(int *)PTR_check_window_size_00144af0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_check_window_size_00144af0"))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00069ee4;" (goto "goto") (statement_identifier "LAB_00069ee4") (; ";"))) (if_statement "if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))\n              goto LAB_00069ef0;" (if "if") (parenthesized_expression "((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))" (( "(") (binary_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&\n                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35)" (( "(") (binary_expression "*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35" (pointer_expression "*(undefined **)(PTR_js_00144e58 + 0x2c)" (* "*") (cast_expression "(undefined **)(PTR_js_00144e58 + 0x2c)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_js_00144e58 + 0x2c)" (( "(") (binary_expression "PTR_js_00144e58 + 0x2c" (identifier "PTR_js_00144e58") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (identifier "puVar35")) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0)" (( "(") (comma_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (, ",") (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_00069ef0;" (goto "goto") (statement_identifier "LAB_00069ef0") (; ";"))) (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" (( "(") (pointer_expression "*(code *)PTR_get_new_window_size_00144984" (* "*") (cast_expression "(code *)PTR_get_new_window_size_00144984" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_new_window_size_00144984"))) () ")")) (argument_list "(0,0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00069ee4;" (goto "goto") (statement_identifier "LAB_00069ee4") (; ";")) (} "}"))) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" (identifier "piVar45") (= "=") (cast_expression "(int *)*piVar45" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar45" (* "*") (identifier "piVar45")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" (( "(") (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" (* "*") (cast_expression "(int **)(iVar5 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar45")) () ")")) (; ";")) (if_statement "if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" (if "if") (parenthesized_expression "((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0)" (( "(") (binary_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0" (parenthesized_expression "(*(uint *)PTR_rl_readline_state_00144658 & 0x4000)" (( "(") (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0x4000" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" (* "*") (cast_expression "(uint *)PTR_rl_readline_state_00144658" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_readline_state_00144658"))) (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            get_tty_state();\nLAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);\n          }" ({ "{") (expression_statement "get_tty_state();" (call_expression "get_tty_state()" (identifier "get_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00069ee4:\n            iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (statement_identifier "LAB_00069ee4") (: ":") (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";"))) (} "}"))) (labeled_statement "LAB_00069ef0:\n          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" (statement_identifier "LAB_00069ef0") (: ":") (if_statement "if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;" (if "if") (parenthesized_expression "((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2))" (( "(") (binary_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||\n             (puVar34 != (undefined *)0x2)" (parenthesized_expression "(((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1))" (( "(") (binary_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)" (parenthesized_expression "((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5))" (( "(") (binary_expression "(*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)" (parenthesized_expression "(*piVar43 == 0)" (( "(") (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 5) != 5)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 5) != 5" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 5)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 5" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "5")) () ")")) (!= "!=") (number_literal "5")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((int)puVar28 < 1)" (( "(") (binary_expression "(int)puVar28 < 1" (cast_expression "(int)puVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar28")) (< "<") (number_literal "1")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(puVar34 != (undefined *)0x2)" (( "(") (binary_expression "puVar34 != (undefined *)0x2" (identifier "puVar34") (!= "!=") (cast_expression "(undefined *)0x2" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")"))) () ")")) (goto_statement "goto LAB_0006a008;" (goto "goto") (statement_identifier "LAB_0006a008") (; ";")))) (expression_statement "iVar5 = signal_is_trapped(2);" (assignment_expression "iVar5 = signal_is_trapped(2)" (identifier "iVar5") (= "=") (call_expression "signal_is_trapped(2)" (identifier "signal_is_trapped") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (; ";")) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" (identifier "param_1") (= "=") (identifier "puVar28")) (; ";")) (if_statement "if ((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;" (if "if") (parenthesized_expression "((((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))))" (( "(") (binary_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" (parenthesized_expression "(((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )))" (( "(") (binary_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||\n              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" (parenthesized_expression "((iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))))" (( "(") (binary_expression "(iVar5 == 0) &&\n               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))))" (( "(") (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))))" (( "(") (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" (identifier "piVar45") (= "=") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (, ",") (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0\n                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" (* "*") (cast_expression "(int *)PTR_loop_level_00144dc4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loop_level_00144dc4"))) (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)))" (( "(") (parenthesized_expression "(0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0))" (( "(") (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&\n                    (*(int *)PTR_executing_list_00144cc0 != 0)" (binary_expression "0x20 < *(int *)PTR_shell_compatibility_level_00144898" (number_literal "0x20") (< "<") (pointer_expression "*(int *)PTR_shell_compatibility_level_00144898" (* "*") (cast_expression "(int *)PTR_shell_compatibility_level_00144898" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_shell_compatibility_level_00144898")))) (&& "&&") (parenthesized_expression "(*(int *)PTR_executing_list_00144cc0 != 0)" (( "(") (binary_expression "*(int *)PTR_executing_list_00144cc0 != 0" (pointer_expression "*(int *)PTR_executing_list_00144cc0" (* "*") (cast_expression "(int *)PTR_executing_list_00144cc0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_list_00144cc0"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")")))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               ))" (( "(") (parenthesized_expression "(iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)\n               )" (( "(") (comma_expression "iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "iVar5 = signal_is_trapped(2)" (identifier "iVar5") (= "=") (call_expression "signal_is_trapped(2)" (identifier "signal_is_trapped") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (, ",") (comma_expression "puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (assignment_expression "puVar33 = PTR_stdout_001462f8" (identifier "puVar33") (= "=") (identifier "PTR_stdout_001462f8")) (, ",") (binary_expression "iVar5 != 0 &&\n               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)" (( "(") (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" (identifier "piVar45") (= "=") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (, ",") (binary_expression "*(int *)PTR_loop_level_00144dc4 != 0" (pointer_expression "*(int *)PTR_loop_level_00144dc4" (* "*") (cast_expression "(int *)PTR_loop_level_00144dc4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loop_level_00144dc4"))) (!= "!=") (number_literal "0"))) () ")"))))) () ")")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)))" (( "(") (parenthesized_expression "((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0))" (( "(") (binary_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&\n                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" (parenthesized_expression "(*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0))" (( "(") (binary_expression "*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)" (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" (( "(") (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" (identifier "iVar5") (= "=") (call_expression "signal_is_trapped(2)" (identifier "signal_is_trapped") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0)" (( "(") (comma_expression "piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "piVar45 = (int *)PTR_interrupt_state_0014483c" (identifier "piVar45") (= "=") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (, ",") (comma_expression "param_1 = puVar33,\n                       *(int *)PTR_sourcelevel_00144d2c != 0" (assignment_expression "param_1 = puVar33" (identifier "param_1") (= "=") (identifier "puVar33")) (, ",") (binary_expression "*(int *)PTR_sourcelevel_00144d2c != 0" (pointer_expression "*(int *)PTR_sourcelevel_00144d2c" (* "*") (cast_expression "(int *)PTR_sourcelevel_00144d2c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sourcelevel_00144d2c"))) (!= "!=") (number_literal "0")))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0006a714;" (goto "goto") (statement_identifier "LAB_0006a714") (; ";"))) (expression_statement "puVar28 = PTR_stdout_001462f8;" (assignment_expression "puVar28 = PTR_stdout_001462f8" (identifier "puVar28") (= "=") (identifier "PTR_stdout_001462f8")) (; ";")) (expression_statement "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);" (call_expression "(*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8)" (parenthesized_expression "(*(code *)PTR_putc_0014629c)" (( "(") (pointer_expression "*(code *)PTR_putc_0014629c" (* "*") (cast_expression "(code *)PTR_putc_0014629c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_0014629c"))) () ")")) (argument_list "(10,*(undefined4 *)PTR_stdout_001462f8)" (( "(") (number_literal "10") (, ",") (pointer_expression "*(undefined4 *)PTR_stdout_001462f8" (* "*") (cast_expression "(undefined4 *)PTR_stdout_001462f8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdout_001462f8"))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);" (call_expression "(*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28)" (parenthesized_expression "(*(code *)PTR_fflush_00146520)" (( "(") (pointer_expression "*(code *)PTR_fflush_00146520" (* "*") (cast_expression "(code *)PTR_fflush_00146520" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fflush_00146520"))) () ")")) (argument_list "(*(undefined4 *)puVar28)" (( "(") (pointer_expression "*(undefined4 *)puVar28" (* "*") (cast_expression "(undefined4 *)puVar28" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar28"))) () ")"))) (; ";")) (} "}")) (else_clause "else if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" (else "else") (if_statement "if ((uVar11 & 0x14) != 0) {\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" (if "if") (parenthesized_expression "((uVar11 & 0x14) != 0)" (( "(") (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" (( "(") (binary_expression "uVar11 & 0x14" (identifier "uVar11") (& "&") (number_literal "0x14")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = *(int *)(puVar2 + -0x70d4);\n          goto LAB_0006a3ac;\n        }" ({ "{") (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar2 + -0x70d4)" (* "*") (cast_expression "(int *)(puVar2 + -0x70d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x70d4)" (( "(") (binary_expression "puVar2 + -0x70d4" (identifier "puVar2") (+ "+") (number_literal "-0x70d4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006a3ac;" (goto "goto") (statement_identifier "LAB_0006a3ac") (; ";")) (} "}"))))) (labeled_statement "LAB_00069ffc:\n        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (statement_identifier "LAB_00069ffc") (: ":") (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")))) (; ";"))) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" (identifier "iVar5") (= "=") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (labeled_statement "LAB_0006a008:\n        iVar20 = *(int *)(iVar5 + 0xc);" (statement_identifier "LAB_0006a008") (: ":") (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";"))) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" (identifier "param_1") (= "=") (identifier "puVar28")) (; ";")) (goto_statement "goto LAB_0006a00c;" (goto "goto") (statement_identifier "LAB_0006a00c") (; ";")) (} "}"))) (if_statement "if ((uVar11 & 0x14) != 0) {\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" (if "if") (parenthesized_expression "((uVar11 & 0x14) != 0)" (( "(") (binary_expression "(uVar11 & 0x14) != 0" (parenthesized_expression "(uVar11 & 0x14)" (( "(") (binary_expression "uVar11 & 0x14" (identifier "uVar11") (& "&") (number_literal "0x14")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar5 = *(int *)(puVar2 + -0x70d4);\nLAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }\n        goto LAB_00069ffc;\n      }" ({ "{") (expression_statement "iVar5 = *(int *)(puVar2 + -0x70d4);" (assignment_expression "iVar5 = *(int *)(puVar2 + -0x70d4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar2 + -0x70d4)" (* "*") (cast_expression "(int *)(puVar2 + -0x70d4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x70d4)" (( "(") (binary_expression "puVar2 + -0x70d4" (identifier "puVar2") (+ "+") (number_literal "-0x70d4")) () ")"))))) (; ";")) (labeled_statement "LAB_0006a3ac:\n        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" (statement_identifier "LAB_0006a3ac") (: ":") (if_statement "if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" (if "if") (parenthesized_expression "(((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0))" (( "(") (binary_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&\n           (iVar5 = signal_is_trapped(2), iVar5 == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0))" (( "(") (binary_expression "(iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar2 + -0x70d8) == 0)" (( "(") (binary_expression "*(int *)(puVar2 + -0x70d8) == 0" (pointer_expression "*(int *)(puVar2 + -0x70d8)" (* "*") (cast_expression "(int *)(puVar2 + -0x70d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + -0x70d8)" (( "(") (binary_expression "puVar2 + -0x70d8" (identifier "puVar2") (+ "+") (number_literal "-0x70d8")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = signal_is_trapped(2), iVar5 == 0)" (( "(") (comma_expression "iVar5 = signal_is_trapped(2), iVar5 == 0" (assignment_expression "iVar5 = signal_is_trapped(2)" (identifier "iVar5") (= "=") (call_expression "signal_is_trapped(2)" (identifier "signal_is_trapped") (argument_list "(2)" (( "(") (number_literal "2") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);\n          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);\n          *(int *)(puVar28 + 0x460) = iVar5;\n          if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }\n        }" ({ "{") (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar40") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);" (assignment_expression "iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,0)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2,0)" (( "(") (number_literal "2") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "*(int *)(puVar28 + 0x460) = iVar5;" (assignment_expression "*(int *)(puVar28 + 0x460) = iVar5" (pointer_expression "*(int *)(puVar28 + 0x460)" (* "*") (cast_expression "(int *)(puVar28 + 0x460)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 == 1) {\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }\n          else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" (if "if") (parenthesized_expression "(iVar5 == 1)" (( "(") (binary_expression "iVar5 == 1" (identifier "iVar5") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }\n          }" ({ "{") (if_statement "if (puVar34 != (undefined *)0x1) {\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" (if "if") (parenthesized_expression "(puVar34 != (undefined *)0x1)" (( "(") (binary_expression "puVar34 != (undefined *)0x1" (identifier "puVar34") (!= "!=") (cast_expression "(undefined *)0x1" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n              (*(code *)PTR_set_signal_handler_00144848)(2,1);\n              *(undefined **)(puVar28 + 0x460) = puVar34;\n              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n              iVar5 = *unaff_s6;\n              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;\n              goto LAB_0006a008;\n            }" ({ "{") (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2,1);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2,1)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2,1)" (( "(") (number_literal "2") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar28 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar34")) (; ";")) (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")))) (; ";")) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" (identifier "iVar5") (= "=") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x70dc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x70dc)" (( "(") (binary_expression "PTR___environ_00145154 + -0x70dc" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x70dc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0006a008;" (goto "goto") (statement_identifier "LAB_0006a008") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" (else "else") (compound_statement "{\n            uVar30 = (*(code *)PTR_getpid_0014640c)();\n            (*(code *)PTR_kill_001463b8)(uVar30,2);\n          }" ({ "{") (expression_statement "uVar30 = (*(code *)PTR_getpid_0014640c)();" (assignment_expression "uVar30 = (*(code *)PTR_getpid_0014640c)()" (identifier "uVar30") (= "=") (call_expression "(*(code *)PTR_getpid_0014640c)()" (parenthesized_expression "(*(code *)PTR_getpid_0014640c)" (( "(") (pointer_expression "*(code *)PTR_getpid_0014640c" (* "*") (cast_expression "(code *)PTR_getpid_0014640c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_getpid_0014640c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_kill_001463b8)(uVar30,2);" (call_expression "(*(code *)PTR_kill_001463b8)(uVar30,2)" (parenthesized_expression "(*(code *)PTR_kill_001463b8)" (( "(") (pointer_expression "*(code *)PTR_kill_001463b8" (* "*") (cast_expression "(code *)PTR_kill_001463b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_kill_001463b8"))) () ")")) (argument_list "(uVar30,2)" (( "(") (identifier "uVar30") (, ",") (number_literal "2") () ")"))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_00069ffc;" (goto "goto") (statement_identifier "LAB_00069ffc") (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(*param_4 + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*param_4 + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*param_4 + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";")) (if_statement "if (uVar11 != 0) goto LAB_0006a008;" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006a008;" (goto "goto") (statement_identifier "LAB_0006a008") (; ";"))) (if_statement "if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piVar45 = *(int **)(iVar5 + 4);\n        do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);\n        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }\n        if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }\n        param_1 = puVar28;\n        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;\n        goto LAB_0006a528;\n      }" ({ "{") (expression_statement "piVar45 = *(int **)(iVar5 + 4);" (assignment_expression "piVar45 = *(int **)(iVar5 + 4)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(iVar5 + 4)" (* "*") (cast_expression "(int **)(iVar5 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (do_statement "do {\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        } while (*(int **)(iVar5 + 4) != piVar45);" (do "do") (compound_statement "{\n          uVar11 = piVar45[2] & 0x7f;\n          cVar15 = (char)((char)uVar11 + '\x01') >> 1;\n          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;\n          piVar45 = (int *)*piVar45;\n        }" ({ "{") (expression_statement "uVar11 = piVar45[2] & 0x7f;" (assignment_expression "uVar11 = piVar45[2] & 0x7f" (identifier "uVar11") (= "=") (binary_expression "piVar45[2] & 0x7f" (subscript_expression "piVar45[2]" (identifier "piVar45") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0x7f"))) (; ";")) (expression_statement "cVar15 = (char)((char)uVar11 + '\x01') >> 1;" (assignment_expression "cVar15 = (char)((char)uVar11 + '\x01') >> 1" (identifier "cVar15") (= "=") (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((char)uVar11 + '\x01')" (( "(") (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar11")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) (>> ">>") (number_literal "1"))) (; ";")) (if_statement "if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;" (if "if") (parenthesized_expression "(('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f))" (( "(") (binary_expression "('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)" (parenthesized_expression "('\0' < cVar15)" (( "(") (binary_expression "'\0' < cVar15" (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (< "<") (identifier "cVar15")) () ")")) (|| "||") (parenthesized_expression "((piVar45[2] & 0xffU) == 0x7f)" (( "(") (binary_expression "(piVar45[2] & 0xffU) == 0x7f" (parenthesized_expression "(piVar45[2] & 0xffU)" (( "(") (binary_expression "piVar45[2] & 0xffU" (subscript_expression "piVar45[2]" (identifier "piVar45") ([ "[") (number_literal "2") (] "]")) (& "&") (number_literal "0xffU")) () ")")) (== "==") (number_literal "0x7f")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar45 = (int *)*piVar45;" (assignment_expression "piVar45 = (int *)*piVar45" (identifier "piVar45") (= "=") (cast_expression "(int *)*piVar45" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar45" (* "*") (identifier "piVar45")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(iVar5 + 4) != piVar45)" (( "(") (binary_expression "*(int **)(iVar5 + 4) != piVar45" (pointer_expression "*(int **)(iVar5 + 4)" (* "*") (cast_expression "(int **)(iVar5 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar45")) () ")")) (; ";")) (if_statement "if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))) {\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" (if "if") (parenthesized_expression "(((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2))))" (( "(") (binary_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&\n           (('\0' < cVar15 && (uVar11 == 2)))" (parenthesized_expression "((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0))" (( "(") (binary_expression "(*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)" (parenthesized_expression "(*piVar43 != 0)" (( "(") (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 4) != 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 4)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 4" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(('\0' < cVar15 && (uVar11 == 2)))" (( "(") (parenthesized_expression "('\0' < cVar15 && (uVar11 == 2))" (( "(") (binary_expression "'\0' < cVar15 && (uVar11 == 2)" (binary_expression "'\0' < cVar15" (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")) (< "<") (identifier "cVar15")) (&& "&&") (parenthesized_expression "(uVar11 == 2)" (( "(") (binary_expression "uVar11 == 2" (identifier "uVar11") (== "==") (number_literal "2")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;\n        }" ({ "{") (expression_statement "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;" (assignment_expression "*(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" (* "*") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (= "=") (binary_expression "*(int *)PTR_interrupt_state_0014483c + 1" (pointer_expression "*(int *)PTR_interrupt_state_0014483c" (* "*") (cast_expression "(int *)PTR_interrupt_state_0014483c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_interrupt_state_0014483c"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (*(int *)PTR_check_window_size_00144af0 != 0) {\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" (if "if") (parenthesized_expression "(*(int *)PTR_check_window_size_00144af0 != 0)" (( "(") (binary_expression "*(int *)PTR_check_window_size_00144af0 != 0" (pointer_expression "*(int *)PTR_check_window_size_00144af0" (* "*") (cast_expression "(int *)PTR_check_window_size_00144af0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_check_window_size_00144af0"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);\n          goto LAB_00069ffc;\n        }" ({ "{") (expression_statement "(*(code *)PTR_get_new_window_size_00144984)(0,0,0);" (call_expression "(*(code *)PTR_get_new_window_size_00144984)(0,0,0)" (parenthesized_expression "(*(code *)PTR_get_new_window_size_00144984)" (( "(") (pointer_expression "*(code *)PTR_get_new_window_size_00144984" (* "*") (cast_expression "(code *)PTR_get_new_window_size_00144984" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_new_window_size_00144984"))) () ")")) (argument_list "(0,0,0)" (( "(") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_00069ffc;" (goto "goto") (statement_identifier "LAB_00069ffc") (; ";")) (} "}"))) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" (identifier "param_1") (= "=") (identifier "puVar28")) (; ";")) (if_statement "if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;" (if "if") (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) != 4" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "4")) () ")")) (goto_statement "goto LAB_0006a01c;" (goto "goto") (statement_identifier "LAB_0006a01c") (; ";"))) (goto_statement "goto LAB_0006a528;" (goto "goto") (statement_identifier "LAB_0006a528") (; ";")) (} "}"))) (goto_statement "goto LAB_0006a01c;" (goto "goto") (statement_identifier "LAB_0006a01c") (; ";")) (} "}"))) (labeled_statement "LAB_00069d30:\n    puVar34 = PTR_wait_for_background_pids_00145158;" (statement_identifier "LAB_00069d30") (: ":") (expression_statement "puVar34 = PTR_wait_for_background_pids_00145158;" (assignment_expression "puVar34 = PTR_wait_for_background_pids_00145158" (identifier "puVar34") (= "=") (identifier "PTR_wait_for_background_pids_00145158")) (; ";"))) (expression_statement "puVar28 = PTR_data_start_00144568;" (assignment_expression "puVar28 = PTR_data_start_00144568" (identifier "puVar28") (= "=") (identifier "PTR_data_start_00144568")) (; ";")) (expression_statement "(*(code *)PTR_set_signal_handler_00144848)(2);" (call_expression "(*(code *)PTR_set_signal_handler_00144848)(2)" (parenthesized_expression "(*(code *)PTR_set_signal_handler_00144848)" (( "(") (pointer_expression "*(code *)PTR_set_signal_handler_00144848" (* "*") (cast_expression "(code *)PTR_set_signal_handler_00144848" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_signal_handler_00144848"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar28 + 0x460) = puVar34;" (assignment_expression "*(undefined **)(puVar28 + 0x460) = puVar34" (pointer_expression "*(undefined **)(puVar28 + 0x460)" (* "*") (cast_expression "(undefined **)(puVar28 + 0x460)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar28 + 0x460)" (( "(") (binary_expression "puVar28 + 0x460" (identifier "puVar28") (+ "+") (number_literal "0x460")) () ")")))) (= "=") (identifier "puVar34")) (; ";")) (expression_statement "piVar45[-0x1c37] = 0;" (assignment_expression "piVar45[-0x1c37] = 0" (subscript_expression "piVar45[-0x1c37]" (identifier "piVar45") ([ "[") (number_literal "-0x1c37") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s6 = piVar45;" (assignment_expression "unaff_s6 = piVar45" (identifier "unaff_s6") (= "=") (identifier "piVar45")) (; ";")) (labeled_statement "LAB_00069d48:\n    if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" (statement_identifier "LAB_00069d48") (: ":") (if_statement "if (puVar35 != (undefined *)0xffffffff) {\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" (if "if") (parenthesized_expression "(puVar35 != (undefined *)0xffffffff)" (( "(") (binary_expression "puVar35 != (undefined *)0xffffffff" (identifier "puVar35") (!= "!=") (cast_expression "(undefined *)0xffffffff" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (compound_statement "{\n      unaff_s6 = (int *)((int)puVar35 * 4);\n      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);\n      iVar20 = *(int *)(iVar5 + 0xc);\n      goto LAB_00069d68;\n    }" ({ "{") (expression_statement "unaff_s6 = (int *)((int)puVar35 * 4);" (assignment_expression "unaff_s6 = (int *)((int)puVar35 * 4)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)puVar35 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar35 * 4)" (( "(") (binary_expression "(int)puVar35 * 4" (cast_expression "(int)puVar35" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar35")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);" (assignment_expression "iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (* "*") (cast_expression "(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_jobs_00144e5c + (int)unaff_s6)" (( "(") (binary_expression "*(int *)PTR_jobs_00144e5c + (int)unaff_s6" (pointer_expression "*(int *)PTR_jobs_00144e5c" (* "*") (cast_expression "(int *)PTR_jobs_00144e5c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_jobs_00144e5c"))) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (goto_statement "goto LAB_00069d68;" (goto "goto") (statement_identifier "LAB_00069d68") (; ";")) (} "}")))) (if_statement "if (unaff_s8 == 0) {\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }\n    else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" (if "if") (parenthesized_expression "(unaff_s8 == 0)" (( "(") (binary_expression "unaff_s8 == 0" (identifier "unaff_s8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_144 = (undefined1 *)0x0;\n      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;\n    }" ({ "{") (expression_statement "local_144 = (undefined1 *)0x0;" (assignment_expression "local_144 = (undefined1 *)0x0" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;" (assignment_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c = 0" (pointer_expression "*(undefined4 *)PTR_last_command_exit_signal_0014519c" (* "*") (cast_expression "(undefined4 *)PTR_last_command_exit_signal_0014519c" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_last_command_exit_signal_0014519c"))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" (else "else") (compound_statement "{\nLAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);\n      uVar11 = uVar19 & 0x7f;\n      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }\n      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;\n      if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }\n    }" ({ "{") (labeled_statement "LAB_0006a2e0:\n      uVar19 = *(uint *)(unaff_s8 + 8);" (statement_identifier "LAB_0006a2e0") (: ":") (expression_statement "uVar19 = *(uint *)(unaff_s8 + 8);" (assignment_expression "uVar19 = *(uint *)(unaff_s8 + 8)" (identifier "uVar19") (= "=") (pointer_expression "*(uint *)(unaff_s8 + 8)" (* "*") (cast_expression "(uint *)(unaff_s8 + 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s8 + 8)" (( "(") (binary_expression "unaff_s8 + 8" (identifier "unaff_s8") (+ "+") (number_literal "8")) () ")"))))) (; ";"))) (expression_statement "uVar11 = uVar19 & 0x7f;" (assignment_expression "uVar11 = uVar19 & 0x7f" (identifier "uVar11") (= "=") (binary_expression "uVar19 & 0x7f" (identifier "uVar19") (& "&") (number_literal "0x7f"))) (; ";")) (if_statement "if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }\n      else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" (if "if") (parenthesized_expression "((char)((char)uVar11 + '\x01') >> 1 < '\x01')" (( "(") (binary_expression "(char)((char)uVar11 + '\x01') >> 1 < '\x01'" (binary_expression "(char)((char)uVar11 + '\x01') >> 1" (cast_expression "(char)((char)uVar11 + '\x01')" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (parenthesized_expression "((char)uVar11 + '\x01')" (( "(") (binary_expression "(char)uVar11 + '\x01'" (cast_expression "(char)uVar11" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar11")) (+ "+") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")"))) (>> ">>") (number_literal "1")) (< "<") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n        local_144 = (undefined1 *)FUN_00064cec(uVar19);\n        uVar11 = 0;\n      }" ({ "{") (expression_statement "local_144 = (undefined1 *)FUN_00064cec(uVar19);" (assignment_expression "local_144 = (undefined1 *)FUN_00064cec(uVar19)" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)FUN_00064cec(uVar19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00064cec(uVar19)" (identifier "FUN_00064cec") (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))))) (; ";")) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" (else "else") (compound_statement "{\n        local_144 = (undefined1 *)(uVar11 + 0x80);\n      }" ({ "{") (expression_statement "local_144 = (undefined1 *)(uVar11 + 0x80);" (assignment_expression "local_144 = (undefined1 *)(uVar11 + 0x80)" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)(uVar11 + 0x80)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar11 + 0x80)" (( "(") (binary_expression "uVar11 + 0x80" (identifier "uVar11") (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (} "}")))) (expression_statement "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11;" (assignment_expression "*(uint *)PTR_last_command_exit_signal_0014519c = uVar11" (pointer_expression "*(uint *)PTR_last_command_exit_signal_0014519c" (* "*") (cast_expression "(uint *)PTR_last_command_exit_signal_0014519c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_last_command_exit_signal_0014519c"))) (= "=") (identifier "uVar11")) (; ";")) (if_statement "if ((uVar19 & 0xff) == 0x7f) {\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" (if "if") (parenthesized_expression "((uVar19 & 0xff) == 0x7f)" (( "(") (binary_expression "(uVar19 & 0xff) == 0x7f" (parenthesized_expression "(uVar19 & 0xff)" (( "(") (binary_expression "uVar19 & 0xff" (identifier "uVar19") (& "&") (number_literal "0xff")) () ")")) (== "==") (number_literal "0x7f")) () ")")) (compound_statement "{\n        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);\n      }" ({ "{") (expression_statement "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);" (assignment_expression "local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" (identifier "local_144") (= "=") (cast_expression "(undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uVar19 << 0x10) >> 0x18) + 0x80)" (( "(") (binary_expression "((uVar19 << 0x10) >> 0x18) + 0x80" (parenthesized_expression "((uVar19 << 0x10) >> 0x18)" (( "(") (binary_expression "(uVar19 << 0x10) >> 0x18" (parenthesized_expression "(uVar19 << 0x10)" (( "(") (binary_expression "uVar19 << 0x10" (identifier "uVar19") (<< "<<") (number_literal "0x10")) () ")")) (>> ">>") (number_literal "0x18")) () ")")) (+ "+") (number_literal "0x80")) () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" (identifier "puVar10") (= "=") (identifier "puVar35")) (; ";")) (if_statement "if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0) {\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" (if "if") (parenthesized_expression "((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0)" (( "(") (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&\n        *(int *)PTR_running_in_background_001446f0 == 0" (binary_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0" (parenthesized_expression "(*(uint *)PTR_subshell_environment_00144674 & 0x11)" (( "(") (binary_expression "*(uint *)PTR_subshell_environment_00144674 & 0x11" (pointer_expression "*(uint *)PTR_subshell_environment_00144674" (* "*") (cast_expression "(uint *)PTR_subshell_environment_00144674" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_subshell_environment_00144674"))) (& "&") (number_literal "0x11")) () ")")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)PTR_running_in_background_001446f0 == 0" (pointer_expression "*(int *)PTR_running_in_background_001446f0" (* "*") (cast_expression "(int *)PTR_running_in_background_001446f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_running_in_background_001446f0"))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);\n    }" ({ "{") (expression_statement "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);" (call_expression "give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (identifier "give_terminal_to") (argument_list "(*(undefined4 *)PTR_shell_pgrp_001448ac,0)" (( "(") (pointer_expression "*(undefined4 *)PTR_shell_pgrp_001448ac" (* "*") (cast_expression "(undefined4 *)PTR_shell_pgrp_001448ac" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_shell_pgrp_001448ac"))) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" (else "else") (compound_statement "{\nLAB_0006a708:\n    puVar34 = puVar33;\n    piVar45 = (int *)0x1;\n    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);\nLAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);\n    iVar5 = *unaff_s6;\n    *piVar45 = *piVar45 + 1;\n    iVar20 = *(int *)(iVar5 + 0xc);\nLAB_0006a00c:\n    puVar28 = param_1;\n    puVar38 = puVar39;\n    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }\nLAB_0006a01c:\n    notify_and_cleanup();\n    puVar10 = puVar35;\n  }" ({ "{") (labeled_statement "LAB_0006a708:\n    puVar34 = puVar33;" (statement_identifier "LAB_0006a708") (: ":") (expression_statement "puVar34 = puVar33;" (assignment_expression "puVar34 = puVar33" (identifier "puVar34") (= "=") (identifier "puVar33")) (; ";"))) (expression_statement "piVar45 = (int *)0x1;" (assignment_expression "piVar45 = (int *)0x1" (identifier "piVar45") (= "=") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);" (call_expression "(*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c)" (parenthesized_expression "(*(code *)PTR___longjmp_chk_001462e4)" (( "(") (pointer_expression "*(code *)PTR___longjmp_chk_001462e4" (* "*") (cast_expression "(code *)PTR___longjmp_chk_001462e4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___longjmp_chk_001462e4"))) () ")")) (argument_list "(PTR_wait_intr_buf_0014516c)" (( "(") (identifier "PTR_wait_intr_buf_0014516c") () ")"))) (; ";")) (labeled_statement "LAB_0006a714:\n    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (statement_identifier "LAB_0006a714") (: ":") (expression_statement "unaff_s6 = (int *)(*param_4 + (int)unaff_s6);" (assignment_expression "unaff_s6 = (int *)(*param_4 + (int)unaff_s6)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(*param_4 + (int)unaff_s6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_4 + (int)unaff_s6)" (( "(") (binary_expression "*param_4 + (int)unaff_s6" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")")))) (; ";"))) (expression_statement "iVar5 = *unaff_s6;" (assignment_expression "iVar5 = *unaff_s6" (identifier "iVar5") (= "=") (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6"))) (; ";")) (expression_statement "*piVar45 = *piVar45 + 1;" (assignment_expression "*piVar45 = *piVar45 + 1" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (= "=") (binary_expression "*piVar45 + 1" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar20 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar20 = *(int *)(iVar5 + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (labeled_statement "LAB_0006a00c:\n    puVar28 = param_1;" (statement_identifier "LAB_0006a00c") (: ":") (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" (identifier "puVar28") (= "=") (identifier "param_1")) (; ";"))) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" (identifier "puVar38") (= "=") (identifier "puVar39")) (; ";")) (if_statement "if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" (if "if") (parenthesized_expression "((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0))" (( "(") (binary_expression "(iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar20 == 4)" (( "(") (binary_expression "iVar20 == 4" (identifier "iVar20") (== "==") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\nLAB_0006a528:\n      FUN_00064d0c(puVar35);\n      puVar28 = param_1;\n      puVar38 = puVar39;\n    }" ({ "{") (labeled_statement "LAB_0006a528:\n      FUN_00064d0c(puVar35);" (statement_identifier "LAB_0006a528") (: ":") (expression_statement "FUN_00064d0c(puVar35);" (call_expression "FUN_00064d0c(puVar35)" (identifier "FUN_00064d0c") (argument_list "(puVar35)" (( "(") (identifier "puVar35") () ")"))) (; ";"))) (expression_statement "puVar28 = param_1;" (assignment_expression "puVar28 = param_1" (identifier "puVar28") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar38 = puVar39;" (assignment_expression "puVar38 = puVar39" (identifier "puVar38") (= "=") (identifier "puVar39")) (; ";")) (} "}"))) (labeled_statement "LAB_0006a01c:\n    notify_and_cleanup();" (statement_identifier "LAB_0006a01c") (: ":") (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" (identifier "notify_and_cleanup") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "puVar10 = puVar35;" (assignment_expression "puVar10 = puVar35" (identifier "puVar10") (= "=") (identifier "puVar35")) (; ";")) (} "}")))) (labeled_statement "LAB_0006a02c:\n  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (statement_identifier "LAB_0006a02c") (: ":") (expression_statement "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);" (call_expression "(*(code *)PTR_sigprocmask_00146514)(3,puVar40,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,puVar40,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar40") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "param_1 = puVar28;" (assignment_expression "param_1 = puVar28" (identifier "param_1") (= "=") (identifier "puVar28")) (; ";")) (labeled_statement "LAB_0006a040:\n  if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" (statement_identifier "LAB_0006a040") (: ":") (if_statement "if (local_2c == *(uint *)puVar4) {\n    return local_144;\n  }" (if "if") (parenthesized_expression "(local_2c == *(uint *)puVar4)" (( "(") (binary_expression "local_2c == *(uint *)puVar4" (identifier "local_2c") (== "==") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    return local_144;\n  }" ({ "{") (return_statement "return local_144;" (return "return") (identifier "local_144") (; ";")) (} "}")))) (expression_statement "pcVar7 = wait_for_single_pid;" (assignment_expression "pcVar7 = wait_for_single_pid" (identifier "pcVar7") (= "=") (identifier "wait_for_single_pid")) (; ";")) (expression_statement "uVar11 = local_2c;" (assignment_expression "uVar11 = local_2c" (identifier "uVar11") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar33 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00146488" (identifier "puVar33") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (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 "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_2a8 = puVar33 + 0xe1e00;" (assignment_expression "puStack_2a8 = puVar33 + 0xe1e00" (identifier "puStack_2a8") (= "=") (binary_expression "puVar33 + 0xe1e00" (identifier "puVar33") (+ "+") (number_literal "0xe1e00"))) (; ";")) (expression_statement "piVar45 = *(int **)(puVar33 + 0xdbd9c);" (assignment_expression "piVar45 = *(int **)(puVar33 + 0xdbd9c)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(puVar33 + 0xdbd9c)" (* "*") (cast_expression "(int **)(puVar33 + 0xdbd9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar33 + 0xdbd9c)" (( "(") (binary_expression "puVar33 + 0xdbd9c" (identifier "puVar33") (+ "+") (number_literal "0xdbd9c")) () ")"))))) (; ";")) (expression_statement "puStack_17c = (undefined *)piVar43;" (assignment_expression "puStack_17c = (undefined *)piVar43" (identifier "puStack_17c") (= "=") (cast_expression "(undefined *)piVar43" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar43"))) (; ";")) (expression_statement "iStack_19c = *piVar45;" (assignment_expression "iStack_19c = *piVar45" (identifier "iStack_19c") (= "=") (pointer_expression "*piVar45" (* "*") (identifier "piVar45"))) (; ";")) (expression_statement "puStack_198 = param_1;" (assignment_expression "puStack_198 = param_1" (identifier "puStack_198") (= "=") (identifier "param_1")) (; ";")) (expression_statement "puStack_194 = puVar34;" (assignment_expression "puStack_194 = puVar34" (identifier "puStack_194") (= "=") (identifier "puVar34")) (; ";")) (expression_statement "puStack_190 = puVar10;" (assignment_expression "puStack_190 = puVar10" (identifier "puStack_190") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "piStack_18c = piVar21;" (assignment_expression "piStack_18c = piVar21" (identifier "piStack_18c") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "puStack_188 = puVar38;" (assignment_expression "puStack_188 = puVar38" (identifier "puStack_188") (= "=") (identifier "puVar38")) (; ";")) (expression_statement "puStack_184 = puVar3;" (assignment_expression "puStack_184 = puVar3" (identifier "puStack_184") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "piStack_180 = unaff_s6;" (assignment_expression "piStack_180 = unaff_s6" (identifier "piStack_180") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "iStack_178 = unaff_s8;" (assignment_expression "iStack_178 = unaff_s8" (identifier "iStack_178") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_174 = pcVar7;" (assignment_expression "pcStack_174 = pcVar7" (identifier "pcStack_174") (= "=") (identifier "pcVar7")) (; ";")) (expression_statement "(**(code **)(puVar33 + 0xdbb94))(auStack_29c);" (call_expression "(**(code **)(puVar33 + 0xdbb94))(auStack_29c)" (parenthesized_expression "(**(code **)(puVar33 + 0xdbb94))" (( "(") (pointer_expression "**(code **)(puVar33 + 0xdbb94)" (* "*") (pointer_expression "*(code **)(puVar33 + 0xdbb94)" (* "*") (cast_expression "(code **)(puVar33 + 0xdbb94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar33 + 0xdbb94)" (( "(") (binary_expression "puVar33 + 0xdbb94" (identifier "puVar33") (+ "+") (number_literal "0xdbb94")) () ")"))))) () ")")) (argument_list "(auStack_29c)" (( "(") (identifier "auStack_29c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x61dc)" (( "(") (binary_expression "puStack_2a8 + -0x61dc" (identifier "puStack_2a8") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(auStack_29c,0x12)" (( "(") (identifier "auStack_29c") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x626c)" (( "(") (binary_expression "puStack_2a8 + -0x626c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_21c)" (( "(") (identifier "auStack_21c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,auStack_29c,auStack_21c)" (( "(") (number_literal "1") (, ",") (identifier "auStack_29c") (, ",") (identifier "auStack_21c") () ")"))) (; ";")) (expression_statement "iVar5 = FUN_0006403c(uVar11,0,0);" (assignment_expression "iVar5 = FUN_0006403c(uVar11,0,0)" (identifier "iVar5") (= "=") (call_expression "FUN_0006403c(uVar11,0,0)" (identifier "FUN_0006403c") (argument_list "(uVar11,0,0)" (( "(") (identifier "uVar11") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_21c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_21c") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (iVar5 == 0) {\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }\n  else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    piVar21 = *(int **)(puStack_2a8 + -0x7408);\n    iVar20 = *piVar21;\n    iVar5 = 0;\n    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }\nLAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);\n    if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }\n  }" ({ "{") (expression_statement "piVar21 = *(int **)(puStack_2a8 + -0x7408);" (assignment_expression "piVar21 = *(int **)(puStack_2a8 + -0x7408)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(puStack_2a8 + -0x7408)" (* "*") (cast_expression "(int **)(puStack_2a8 + -0x7408)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x7408)" (( "(") (binary_expression "puStack_2a8 + -0x7408" (identifier "puStack_2a8") (+ "+") (number_literal "-0x7408")) () ")"))))) (; ";")) (expression_statement "iVar20 = *piVar21;" (assignment_expression "iVar20 = *piVar21" (identifier "iVar20") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";")) (if_statement "if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" (if "if") (parenthesized_expression "(((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0))" (( "(") (binary_expression "((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)" (parenthesized_expression "((iVar20 != 0) && (piVar21[2] != 0))" (( "(") (binary_expression "(iVar20 != 0) && (piVar21[2] != 0)" (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar21[2] != 0)" (( "(") (binary_expression "piVar21[2] != 0" (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(piVar21[3] != 0)" (( "(") (binary_expression "piVar21[3] != 0" (subscript_expression "piVar21[3]" (identifier "piVar21") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);\n      if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);" (assignment_expression "iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" (* "*") (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4)" (( "(") (binary_expression "*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4" (pointer_expression "*(int *)(puStack_2a8 + -0x7404)" (* "*") (cast_expression "(int *)(puStack_2a8 + -0x7404)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_2a8 + -0x7404)" (( "(") (binary_expression "puStack_2a8 + -0x7404" (identifier "puStack_2a8") (+ "+") (number_literal "-0x7404")) () ")")))) (+ "+") (binary_expression "(uVar11 & 0xfff) * 4" (parenthesized_expression "(uVar11 & 0xfff)" (( "(") (binary_expression "uVar11 & 0xfff" (identifier "uVar11") (& "&") (number_literal "0xfff")) () ")")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (if_statement "if (iVar9 != -1) {\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" (if "if") (parenthesized_expression "(iVar9 != -1)" (( "(") (binary_expression "iVar9 != -1" (identifier "iVar9") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        piVar21 = (int *)(iVar20 + iVar9 * 0x10);\n        if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }\n      }" ({ "{") (expression_statement "piVar21 = (int *)(iVar20 + iVar9 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar9 * 0x10)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar20 + iVar9 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar9 * 0x10)" (( "(") (binary_expression "iVar20 + iVar9 * 0x10" (identifier "iVar20") (+ "+") (binary_expression "iVar9 * 0x10" (identifier "iVar9") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (if_statement "if (uVar11 == piVar21[2]) {\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }\n        else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" (if "if") (parenthesized_expression "(uVar11 == piVar21[2])" (( "(") (binary_expression "uVar11 == piVar21[2]" (identifier "uVar11") (== "==") (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]"))) () ")")) (compound_statement "{\nLAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);\n          if (-1 < (int)puVar12) goto LAB_0006a9b0;\n        }" ({ "{") (labeled_statement "LAB_0006aaf8:\n          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" (statement_identifier "LAB_0006aaf8") (: ":") (expression_statement "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);" (assignment_expression "puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)(int)*(short *)(piVar21 + 3)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)*(short *)(piVar21 + 3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(piVar21 + 3)" (* "*") (cast_expression "(short *)(piVar21 + 3)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar21 + 3)" (( "(") (binary_expression "piVar21 + 3" (identifier "piVar21") (+ "+") (number_literal "3")) () ")"))))))) (; ";"))) (if_statement "if (-1 < (int)puVar12) goto LAB_0006a9b0;" (if "if") (parenthesized_expression "(-1 < (int)puVar12)" (( "(") (binary_expression "-1 < (int)puVar12" (number_literal "-1") (< "<") (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12"))) () ")")) (goto_statement "goto LAB_0006a9b0;" (goto "goto") (statement_identifier "LAB_0006a9b0") (; ";"))) (} "}")) (else_clause "else {\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" (else "else") (compound_statement "{\n          iVar41 = *piVar21;\n          while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }\n          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);\n        }" ({ "{") (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" (identifier "iVar41") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (while_statement "while (iVar9 != iVar41) {\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" (while "while") (parenthesized_expression "(iVar9 != iVar41)" (( "(") (binary_expression "iVar9 != iVar41" (identifier "iVar9") (!= "!=") (identifier "iVar41")) () ")")) (compound_statement "{\n            if (iVar41 == -1) goto LAB_0006aae8;\n            piVar21 = (int *)(iVar20 + iVar41 * 0x10);\n            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;\n            iVar41 = *piVar21;\n          }" ({ "{") (if_statement "if (iVar41 == -1) goto LAB_0006aae8;" (if "if") (parenthesized_expression "(iVar41 == -1)" (( "(") (binary_expression "iVar41 == -1" (identifier "iVar41") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006aae8;" (goto "goto") (statement_identifier "LAB_0006aae8") (; ";"))) (expression_statement "piVar21 = (int *)(iVar20 + iVar41 * 0x10);" (assignment_expression "piVar21 = (int *)(iVar20 + iVar41 * 0x10)" (identifier "piVar21") (= "=") (cast_expression "(int *)(iVar20 + iVar41 * 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar41 * 0x10)" (( "(") (binary_expression "iVar20 + iVar41 * 0x10" (identifier "iVar20") (+ "+") (binary_expression "iVar41 * 0x10" (identifier "iVar41") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (if_statement "if (uVar11 == piVar21[2]) goto LAB_0006aaf8;" (if "if") (parenthesized_expression "(uVar11 == piVar21[2])" (( "(") (binary_expression "uVar11 == piVar21[2]" (identifier "uVar11") (== "==") (subscript_expression "piVar21[2]" (identifier "piVar21") ([ "[") (number_literal "2") (] "]"))) () ")")) (goto_statement "goto LAB_0006aaf8;" (goto "goto") (statement_identifier "LAB_0006aaf8") (; ";"))) (expression_statement "iVar41 = *piVar21;" (assignment_expression "iVar41 = *piVar21" (identifier "iVar41") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (} "}"))) (expression_statement "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);" (call_expression "internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" (identifier "internal_warning") (argument_list "(*(int *)(puStack_2a8 + -0x7fc8) + 32000)" (( "(") (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 32000" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_2a8 + -0x7fc8)" (( "(") (binary_expression "puStack_2a8 + -0x7fc8" (identifier "puStack_2a8") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "32000")) () ")"))) (; ";")) (} "}")))) (} "}"))) (} "}"))) (labeled_statement "LAB_0006aae8:\n    puVar40 = (undefined *)((uint)puVar40 & 1);" (statement_identifier "LAB_0006aae8") (: ":") (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 1);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 1)" (identifier "puVar40") (= "=") (cast_expression "(undefined *)((uint)puVar40 & 1)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar40 & 1)" (( "(") (binary_expression "(uint)puVar40 & 1" (cast_expression "(uint)puVar40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar40")) (& "&") (number_literal "1")) () ")")))) (; ";"))) (if_statement "if (puVar40 == (undefined *)0x0) {\n      puVar12 = (undefined1 *)0x7f;\n    }\n    else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" (if "if") (parenthesized_expression "(puVar40 == (undefined *)0x0)" (( "(") (binary_expression "puVar40 == (undefined *)0x0" (identifier "puVar40") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n    }" ({ "{") (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)0x7f" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f"))) (; ";")) (} "}")) (else_clause "else {\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" (else "else") (compound_statement "{\n      puVar12 = (undefined1 *)0x7f;\n      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);\n      internal_error(uVar30,uVar11);\n    }" ({ "{") (expression_statement "puVar12 = (undefined1 *)0x7f;" (assignment_expression "puVar12 = (undefined1 *)0x7f" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)0x7f" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f"))) (; ";")) (expression_statement "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);" (assignment_expression "uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x60a8))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x60a8)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x60a8)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x60a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x60a8)" (( "(") (binary_expression "puStack_2a8 + -0x60a8" (identifier "puStack_2a8") (+ "+") (number_literal "-0x60a8")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38" (pointer_expression "*(int *)(puStack_2a8 + -0x7fc8)" (* "*") (cast_expression "(int *)(puStack_2a8 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_2a8 + -0x7fc8)" (( "(") (binary_expression "puStack_2a8 + -0x7fc8" (identifier "puStack_2a8") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x7d38")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar30,uVar11);" (call_expression "internal_error(uVar30,uVar11)" (identifier "internal_error") (argument_list "(uVar30,uVar11)" (( "(") (identifier "uVar30") (, ",") (identifier "uVar11") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" (else "else") (compound_statement "{\n    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);\n    puVar40 = (undefined *)((uint)puVar40 & 2);\n    piVar43 = (int *)0x7f;\n    puVar12 = (undefined1 *)wait_for(uVar11);\n    while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }\n    iVar5 = *(int *)(puStack_2a8 + -0x76e8);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n    if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }\n    pcVar7 = *(code **)(puStack_2a8 + -0x602c);\nLAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);\n    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }\n  }" ({ "{") (expression_statement "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);" (assignment_expression "unaff_s6 = *(int **)(puStack_2a8 + -0x77a4)" (identifier "unaff_s6") (= "=") (pointer_expression "*(int **)(puStack_2a8 + -0x77a4)" (* "*") (cast_expression "(int **)(puStack_2a8 + -0x77a4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x77a4)" (( "(") (binary_expression "puStack_2a8 + -0x77a4" (identifier "puStack_2a8") (+ "+") (number_literal "-0x77a4")) () ")"))))) (; ";")) (expression_statement "puVar40 = (undefined *)((uint)puVar40 & 2);" (assignment_expression "puVar40 = (undefined *)((uint)puVar40 & 2)" (identifier "puVar40") (= "=") (cast_expression "(undefined *)((uint)puVar40 & 2)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar40 & 2)" (( "(") (binary_expression "(uint)puVar40 & 2" (cast_expression "(uint)puVar40" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar40")) (& "&") (number_literal "2")) () ")")))) (; ";")) (expression_statement "piVar43 = (int *)0x7f;" (assignment_expression "piVar43 = (int *)0x7f" (identifier "piVar43") (= "=") (cast_expression "(int *)0x7f" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f"))) (; ";")) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)wait_for(uVar11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "wait_for(uVar11)" (identifier "wait_for") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))))) (; ";")) (while_statement "while (puVar40 != (undefined *)0x0) {\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" (while "while") (parenthesized_expression "(puVar40 != (undefined *)0x0)" (( "(") (binary_expression "puVar40 != (undefined *)0x0" (identifier "puVar40") (!= "!=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);\n      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);\n      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);\n      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);\n      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }\n      (**(code **)(puStack_2a8 + -0x602c))();\n      puVar12 = (undefined1 *)wait_for(uVar11);\n    }" ({ "{") (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x626c)" (( "(") (binary_expression "puStack_2a8 + -0x626c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_29c)" (( "(") (identifier "auStack_29c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x61dc)" (( "(") (binary_expression "puStack_2a8 + -0x61dc" (identifier "puStack_2a8") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(auStack_29c,0x12)" (( "(") (identifier "auStack_29c") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x626c)" (( "(") (binary_expression "puStack_2a8 + -0x626c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_21c)" (( "(") (identifier "auStack_21c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,auStack_29c,auStack_21c)" (( "(") (number_literal "1") (, ",") (identifier "auStack_29c") (, ",") (identifier "auStack_21c") () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f'))" (( "(") (binary_expression "(*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')" (parenthesized_expression "(*(int *)(iVar5 + 0xc) != 1)" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) != 1" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar5 + 0xb) != '\x7f')" (( "(") (binary_expression "*(char *)(iVar5 + 0xb) != '\x7f'" (pointer_expression "*(char *)(iVar5 + 0xb)" (* "*") (cast_expression "(char *)(iVar5 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xb)" (( "(") (binary_expression "iVar5 + 0xb" (identifier "iVar5") (+ "+") (number_literal "0xb")) () ")")))) (!= "!=") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);\n        break;\n      }" ({ "{") (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_21c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_21c") (, ",") (number_literal "0") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))();" (call_expression "(**(code **)(puStack_2a8 + -0x602c))()" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar11);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar11)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)wait_for(uVar11)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "wait_for(uVar11)" (identifier "wait_for") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(puStack_2a8 + -0x76e8);" (assignment_expression "iVar5 = *(int *)(puStack_2a8 + -0x76e8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puStack_2a8 + -0x76e8)" (* "*") (cast_expression "(int *)(puStack_2a8 + -0x76e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_2a8 + -0x76e8)" (( "(") (binary_expression "puStack_2a8 + -0x76e8" (identifier "puStack_2a8") (+ "+") (number_literal "-0x76e8")) () ")"))))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_29c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x626c)" (( "(") (binary_expression "puStack_2a8 + -0x626c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_29c)" (( "(") (identifier "auStack_29c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);" (call_expression "(**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x61dc))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x61dc)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x61dc)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x61dc)" (( "(") (binary_expression "puStack_2a8 + -0x61dc" (identifier "puStack_2a8") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(auStack_29c,0x12)" (( "(") (identifier "auStack_29c") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x626c))(auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x626c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x626c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x626c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x626c)" (( "(") (binary_expression "puStack_2a8 + -0x626c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_21c)" (( "(") (identifier "auStack_21c") () ")"))) (; ";")) (expression_statement "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);" (call_expression "(**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c)" (parenthesized_expression "(**(code **)(puStack_2a8 + -0x602c))" (( "(") (pointer_expression "**(code **)(puStack_2a8 + -0x602c)" (* "*") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,auStack_29c,auStack_21c)" (( "(") (number_literal "1") (, ",") (identifier "auStack_29c") (, ",") (identifier "auStack_21c") () ")"))) (; ";")) (if_statement "if (0 < *(int *)(iVar5 + 0x18)) {\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" (if "if") (parenthesized_expression "(0 < *(int *)(iVar5 + 0x18))" (( "(") (binary_expression "0 < *(int *)(iVar5 + 0x18)" (number_literal "0") (< "<") (pointer_expression "*(int *)(iVar5 + 0x18)" (* "*") (cast_expression "(int *)(iVar5 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n      iVar20 = 0;\n      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);\n      do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));\n    }" ({ "{") (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);" (assignment_expression "piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" (identifier "piVar21") (= "=") (cast_expression "(int *)**(undefined4 **)(puStack_2a8 + -0x76e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puStack_2a8 + -0x76e4)" (* "*") (pointer_expression "*(undefined4 **)(puStack_2a8 + -0x76e4)" (* "*") (cast_expression "(undefined4 **)(puStack_2a8 + -0x76e4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x76e4)" (( "(") (binary_expression "puStack_2a8 + -0x76e4" (identifier "puStack_2a8") (+ "+") (number_literal "-0x76e4")) () ")"))))))) (; ";")) (do_statement "do {\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      } while (iVar20 != *(int *)(iVar5 + 0x18));" (do "do") (compound_statement "{\n        iVar9 = *piVar21;\n        if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }\n        iVar20 = iVar20 + 1;\n        piVar21 = piVar21 + 1;\n      }" ({ "{") (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" (identifier "iVar9") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (if_statement "if (iVar9 != 0) {\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar44 = *(int **)(iVar9 + 4);\n          uVar19 = piVar44[1];\n          piVar29 = piVar44;\n          while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }\n        }" ({ "{") (expression_statement "piVar44 = *(int **)(iVar9 + 4);" (assignment_expression "piVar44 = *(int **)(iVar9 + 4)" (identifier "piVar44") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar19 = piVar44[1];" (assignment_expression "uVar19 = piVar44[1]" (identifier "uVar19") (= "=") (subscript_expression "piVar44[1]" (identifier "piVar44") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar29 = piVar44;" (assignment_expression "piVar29 = piVar44" (identifier "piVar29") (= "=") (identifier "piVar44")) (; ";")) (while_statement "while( true ) {\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }\n            piVar29 = (int *)*piVar29;\n            if (piVar44 == piVar29) break;\n            uVar19 = piVar29[1];\n          }" ({ "{") (if_statement "if (uVar11 == uVar19) {\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" (if "if") (parenthesized_expression "(uVar11 == uVar19)" (( "(") (binary_expression "uVar11 == uVar19" (identifier "uVar11") (== "==") (identifier "uVar19")) () ")")) (compound_statement "{\n              pcVar7 = *(code **)(puStack_2a8 + -0x602c);\n              if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }\n              goto LAB_0006a950;\n            }" ({ "{") (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0xc) == 4) {\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0xc) == 4)" (( "(") (binary_expression "*(int *)(iVar9 + 0xc) == 4" (pointer_expression "*(int *)(iVar9 + 0xc)" (* "*") (cast_expression "(int *)(iVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "4")) () ")")) (compound_statement "{\n                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;\n              }" ({ "{") (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar9 + 0x10) | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (goto_statement "goto LAB_0006a950;" (goto "goto") (statement_identifier "LAB_0006a950") (; ";")) (} "}"))) (expression_statement "piVar29 = (int *)*piVar29;" (assignment_expression "piVar29 = (int *)*piVar29" (identifier "piVar29") (= "=") (cast_expression "(int *)*piVar29" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")))) (; ";")) (if_statement "if (piVar44 == piVar29) break;" (if "if") (parenthesized_expression "(piVar44 == piVar29)" (( "(") (binary_expression "piVar44 == piVar29" (identifier "piVar44") (== "==") (identifier "piVar29")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar19 = piVar29[1];" (assignment_expression "uVar19 = piVar29[1]" (identifier "uVar19") (= "=") (subscript_expression "piVar29[1]" (identifier "piVar29") ([ "[") (number_literal "1") (] "]"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar21 = piVar21 + 1;" (assignment_expression "piVar21 = piVar21 + 1" (identifier "piVar21") (= "=") (binary_expression "piVar21 + 1" (identifier "piVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 != *(int *)(iVar5 + 0x18))" (( "(") (binary_expression "iVar20 != *(int *)(iVar5 + 0x18)" (identifier "iVar20") (!= "!=") (pointer_expression "*(int *)(iVar5 + 0x18)" (* "*") (cast_expression "(int *)(iVar5 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(puStack_2a8 + -0x602c)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x602c)" (( "(") (binary_expression "puStack_2a8 + -0x602c" (identifier "puStack_2a8") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (labeled_statement "LAB_0006a950:\n    (*pcVar7)(3,auStack_21c,0);" (statement_identifier "LAB_0006a950") (: ":") (expression_statement "(*pcVar7)(3,auStack_21c,0);" (call_expression "(*pcVar7)(3,auStack_21c,0)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(3,auStack_21c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_21c") (, ",") (number_literal "0") () ")"))) (; ";"))) (if_statement "if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" (if "if") (parenthesized_expression "(**(int **)(puStack_2a8 + -0x7fb4) != 0)" (( "(") (binary_expression "**(int **)(puStack_2a8 + -0x7fb4) != 0" (pointer_expression "**(int **)(puStack_2a8 + -0x7fb4)" (* "*") (pointer_expression "*(int **)(puStack_2a8 + -0x7fb4)" (* "*") (cast_expression "(int **)(puStack_2a8 + -0x7fb4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x7fb4)" (( "(") (binary_expression "puStack_2a8 + -0x7fb4" (identifier "puStack_2a8") (+ "+") (number_literal "-0x7fb4")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }\n      FUN_000648c0(uVar11);\n    }" ({ "{") (if_statement "if ((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {\n        FUN_00068b60();\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0))" (( "(") (binary_expression "(*(int *)(iVar5 + 0x18) != 0) &&\n         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar5 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(iVar5 + 0x18) != 0" (pointer_expression "*(int *)(iVar5 + 0x18)" (* "*") (cast_expression "(int *)(iVar5 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x18)" (( "(") (binary_expression "iVar5 + 0x18" (identifier "iVar5") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" (* "*") (cast_expression "(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puStack_2a8 + -0x73ec) + -0x705c)" (( "(") (binary_expression "*(int *)(puStack_2a8 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(puStack_2a8 + -0x73ec)" (* "*") (cast_expression "(int *)(puStack_2a8 + -0x73ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_2a8 + -0x73ec)" (( "(") (binary_expression "puStack_2a8 + -0x73ec" (identifier "puStack_2a8") (+ "+") (number_literal "-0x73ec")) () ")")))) (+ "+") (number_literal "-0x705c")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        FUN_00068b60();\n      }" ({ "{") (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" (identifier "FUN_00068b60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000648c0(uVar11);" (call_expression "FUN_000648c0(uVar11)" (identifier "FUN_000648c0") (argument_list "(uVar11)" (( "(") (identifier "uVar11") () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0006a9b0:\n  if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" (statement_identifier "LAB_0006a9b0") (: ":") (if_statement "if (iStack_19c == *piVar45) {\n    return puVar12;\n  }" (if "if") (parenthesized_expression "(iStack_19c == *piVar45)" (( "(") (binary_expression "iStack_19c == *piVar45" (identifier "iStack_19c") (== "==") (pointer_expression "*piVar45" (* "*") (identifier "piVar45"))) () ")")) (compound_statement "{\n    return puVar12;\n  }" ({ "{") (return_statement "return puVar12;" (return "return") (identifier "puVar12") (; ";")) (} "}")))) (expression_statement "pcVar7 = *(code **)(puStack_2a8 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(puStack_2a8 + -0x60b8)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(puStack_2a8 + -0x60b8)" (* "*") (cast_expression "(code **)(puStack_2a8 + -0x60b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_2a8 + -0x60b8)" (( "(") (binary_expression "puStack_2a8 + -0x60b8" (identifier "puStack_2a8") (+ "+") (number_literal "-0x60b8")) () ")"))))) (; ";")) (expression_statement "pcVar8 = wait_for_background_pids;" (assignment_expression "pcVar8 = wait_for_background_pids" (identifier "pcVar8") (= "=") (identifier "wait_for_background_pids")) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_400 = pcVar7 + 0xe19dc;" (assignment_expression "pcStack_400 = pcVar7 + 0xe19dc" (identifier "pcStack_400") (= "=") (binary_expression "pcVar7 + 0xe19dc" (identifier "pcVar7") (+ "+") (number_literal "0xe19dc"))) (; ";")) (expression_statement "piStack_3f0 = *(int **)(pcVar7 + 0xdb978);" (assignment_expression "piStack_3f0 = *(int **)(pcVar7 + 0xdb978)" (identifier "piStack_3f0") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xdb978)" (* "*") (cast_expression "(int **)(pcVar7 + 0xdb978)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdb978)" (( "(") (binary_expression "pcVar7 + 0xdb978" (identifier "pcVar7") (+ "+") (number_literal "0xdb978")) () ")"))))) (; ";")) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xda48c);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xda48c)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xda48c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xda48c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xda48c)" (( "(") (binary_expression "pcVar7 + 0xda48c" (identifier "pcVar7") (+ "+") (number_literal "0xda48c")) () ")"))))) (; ";")) (expression_statement "pcStack_3f4 = (code *)(iVar20 + 0x5a6c);" (assignment_expression "pcStack_3f4 = (code *)(iVar20 + 0x5a6c)" (identifier "pcStack_3f4") (= "=") (cast_expression "(code *)(iVar20 + 0x5a6c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x5a6c)" (( "(") (binary_expression "iVar20 + 0x5a6c" (identifier "iVar20") (+ "+") (number_literal "0x5a6c")) () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a14);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a14)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd9a14)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd9a14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd9a14)" (( "(") (binary_expression "pcVar7 + 0xd9a14" (identifier "pcVar7") (+ "+") (number_literal "0xd9a14")) () ")"))))) (; ";")) (expression_statement "puStack_2e4 = (undefined1 *)*piStack_3f0;" (assignment_expression "puStack_2e4 = (undefined1 *)*piStack_3f0" (identifier "puStack_2e4") (= "=") (cast_expression "(undefined1 *)*piStack_3f0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piStack_3f0" (* "*") (identifier "piStack_3f0")))) (; ";")) (expression_statement "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);" (assignment_expression "pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" (identifier "pcStack_3ec") (= "=") (cast_expression "(code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar7 + 0xda48c) + 0x4e60)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xda48c) + 0x4e60" (pointer_expression "*(int *)(pcVar7 + 0xda48c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xda48c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xda48c)" (( "(") (binary_expression "pcVar7 + 0xda48c" (identifier "pcVar7") (+ "+") (number_literal "0xda48c")) () ")")))) (+ "+") (number_literal "0x4e60")) () ")")))) (; ";")) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xda2f4);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xda2f4)" (identifier "iVar41") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xda2f4)" (* "*") (cast_expression "(int *)(pcVar7 + 0xda2f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xda2f4)" (( "(") (binary_expression "pcVar7 + 0xda2f4" (identifier "pcVar7") (+ "+") (number_literal "0xda2f4")) () ")"))))) (; ";")) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xda2f8);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xda2f8)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xda2f8)" (* "*") (cast_expression "(int **)(pcVar7 + 0xda2f8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda2f8)" (( "(") (binary_expression "pcVar7 + 0xda2f8" (identifier "pcVar7") (+ "+") (number_literal "0xda2f8")) () ")"))))) (; ";")) (expression_statement "puStack_2e0 = auStack_29c;" (assignment_expression "puStack_2e0 = auStack_29c" (identifier "puStack_2e0") (= "=") (identifier "auStack_29c")) (; ";")) (expression_statement "puStack_2dc = auStack_21c;" (assignment_expression "puStack_2dc = auStack_21c" (identifier "puStack_2dc") (= "=") (identifier "auStack_21c")) (; ";")) (expression_statement "uStack_2d8 = uVar11;" (assignment_expression "uStack_2d8 = uVar11" (identifier "uStack_2d8") (= "=") (identifier "uVar11")) (; ";")) (expression_statement "iStack_2d4 = iVar5;" (assignment_expression "iStack_2d4 = iVar5" (identifier "iStack_2d4") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "puStack_2d0 = puVar40;" (assignment_expression "puStack_2d0 = puVar40" (identifier "puStack_2d0") (= "=") (identifier "puVar40")) (; ";")) (expression_statement "puStack_2cc = puVar12;" (assignment_expression "puStack_2cc = puVar12" (identifier "puStack_2cc") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "piStack_2c8 = unaff_s6;" (assignment_expression "piStack_2c8 = unaff_s6" (identifier "piStack_2c8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piStack_2c4 = piVar43;" (assignment_expression "piStack_2c4 = piVar43" (identifier "piStack_2c4") (= "=") (identifier "piVar43")) (; ";")) (expression_statement "piStack_2c0 = piVar45;" (assignment_expression "piStack_2c0 = piVar45" (identifier "piStack_2c0") (= "=") (identifier "piVar45")) (; ";")) (expression_statement "pcStack_2bc = pcVar8;" (assignment_expression "pcStack_2bc = pcVar8" (identifier "pcStack_2bc") (= "=") (identifier "pcVar8")) (; ";")) (labeled_statement "LAB_0006abe0:\n  do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" (statement_identifier "LAB_0006abe0") (: ":") (do_statement "do {\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  } while( true );" (do "do") (compound_statement "{\n    pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));\n    (*pcStack_3ec)();\n  }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_400 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x626c)" (( "(") (binary_expression "pcStack_400 + -0x626c" (identifier "pcStack_400") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";")) (do_statement "do {\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));" (do "do") (compound_statement "{\n      piVar29 = (int *)0x0;\n      (*pcVar7)(auStack_3e4);\n      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);\n      (**(code **)(pcStack_400 + -0x626c))(auStack_364);\n      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);\n      piVar45 = *(int **)(iVar41 + 0x18);\n      pcVar7 = pcStack_400;\n      if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }\n      pcVar7 = *(code **)(pcVar7 + -0x602c);\n      if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }\nLAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);\n      uVar30 = *(undefined4 *)(iVar5 + 4);\n      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);\n      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }\n      if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }\n      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();\n      *unaff_s6 = 0;\n      iVar5 = wait_for_single_pid(uVar30,1);\n      if (iVar5 != -1) goto LAB_0006abe0;\n      pcVar7 = *(code **)(pcStack_400 + -0x626c);\n    }" ({ "{") (expression_statement "piVar29 = (int *)0x0;" (assignment_expression "piVar29 = (int *)0x0" (identifier "piVar29") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*pcVar7)(auStack_3e4);" (call_expression "(*pcVar7)(auStack_3e4)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(auStack_3e4)" (( "(") (identifier "auStack_3e4") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);" (call_expression "(**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x61dc)" (( "(") (binary_expression "pcStack_400 + -0x61dc" (identifier "pcStack_400") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(auStack_3e4,0x12)" (( "(") (identifier "auStack_3e4") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_400 + -0x626c))(auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x626c))(auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x626c)" (( "(") (binary_expression "pcStack_400 + -0x626c" (identifier "pcStack_400") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_364)" (( "(") (identifier "auStack_364") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x602c)" (( "(") (binary_expression "pcStack_400 + -0x602c" (identifier "pcStack_400") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,auStack_3e4,auStack_364)" (( "(") (number_literal "1") (, ",") (identifier "auStack_3e4") (, ",") (identifier "auStack_364") () ")"))) (; ";")) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(iVar41 + 0x18)" (* "*") (cast_expression "(int **)(iVar41 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar41 + 0x18)" (( "(") (binary_expression "iVar41 + 0x18" (identifier "iVar41") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" (identifier "pcVar7") (= "=") (identifier "pcStack_400")) (; ";")) (if_statement "if (0 < (int)piVar45) {\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" (if "if") (parenthesized_expression "(0 < (int)piVar45)" (( "(") (binary_expression "0 < (int)piVar45" (number_literal "0") (< "<") (cast_expression "(int)piVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar45"))) () ")")) (compound_statement "{\n        iVar20 = 2;\n        do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);\n      }" ({ "{") (expression_statement "iVar20 = 2;" (assignment_expression "iVar20 = 2" (identifier "iVar20") (= "=") (number_literal "2")) (; ";")) (do_statement "do {\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        } while ((int)piVar29 < (int)piVar45);" (do "do") (compound_statement "{\n          piVar43 = (int *)((int)piVar29 * 4);\n          iVar5 = *(int *)(*piVar21 + (int)piVar43);\n          if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }\nLAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);\n          piVar45 = *(int **)(iVar41 + 0x18);\n          unaff_s6 = piVar29;\n        }" ({ "{") (expression_statement "piVar43 = (int *)((int)piVar29 * 4);" (assignment_expression "piVar43 = (int *)((int)piVar29 * 4)" (identifier "piVar43") (= "=") (cast_expression "(int *)((int)piVar29 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar29 * 4)" (( "(") (binary_expression "(int)piVar29 * 4" (cast_expression "(int)piVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar29")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(*piVar21 + (int)piVar43);" (assignment_expression "iVar5 = *(int *)(*piVar21 + (int)piVar43)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*piVar21 + (int)piVar43)" (* "*") (cast_expression "(int *)(*piVar21 + (int)piVar43)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar21 + (int)piVar43)" (( "(") (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (+ "+") (cast_expression "(int)piVar43" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar43"))) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            iVar16 = *(int *)(iVar5 + 0xc);\n            if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }\n            unaff_s6 = (int *)((int)piVar29 + 1);\n            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }\n          }" ({ "{") (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar16 == 2) {\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" (if "if") (parenthesized_expression "(iVar16 == 2)" (( "(") (binary_expression "iVar16 == 2" (identifier "iVar16") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              iVar5 = (*pcStack_3f4)(piVar29);\n              (**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));\n              piVar43 = (int *)(*piVar21 + (int)piVar43);\n              iVar5 = *piVar43;\n              pcVar7 = pcStack_400;\n              if (iVar5 == 0) goto LAB_0006ac6c;\n              iVar16 = *(int *)(iVar5 + 0xc);\n            }" ({ "{") (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" (identifier "iVar5") (= "=") (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" (( "(") (pointer_expression "*pcStack_3f4" (* "*") (identifier "pcStack_3f4")) () ")")) (argument_list "(piVar29)" (( "(") (identifier "piVar29") () ")")))) (; ";")) (expression_statement "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));" (call_expression "(**(code **)(pcStack_400 + -0x7354))\n                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7354))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x7354)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x7354)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x7354)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x7354)" (( "(") (binary_expression "pcStack_400 + -0x7354" (identifier "pcStack_400") (+ "+") (number_literal "-0x7354")) () ")"))))) () ")")) (argument_list "(iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4))" (( "(") (binary_expression "iVar9 + 0x7d64" (identifier "iVar9") (+ "+") (number_literal "0x7d64")) (, ",") (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar29")) (+ "+") (number_literal "1")) (, ",") (pointer_expression "*(undefined4 *)(iVar5 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar43 = (int *)(*piVar21 + (int)piVar43);" (assignment_expression "piVar43 = (int *)(*piVar21 + (int)piVar43)" (identifier "piVar43") (= "=") (cast_expression "(int *)(*piVar21 + (int)piVar43)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar21 + (int)piVar43)" (( "(") (binary_expression "*piVar21 + (int)piVar43" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (+ "+") (cast_expression "(int)piVar43" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar43"))) () ")")))) (; ";")) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" (identifier "iVar5") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (expression_statement "pcVar7 = pcStack_400;" (assignment_expression "pcVar7 = pcStack_400" (identifier "pcVar7") (= "=") (identifier "pcStack_400")) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_0006ac6c;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006ac6c;" (goto "goto") (statement_identifier "LAB_0006ac6c") (; ";"))) (expression_statement "iVar16 = *(int *)(iVar5 + 0xc);" (assignment_expression "iVar16 = *(int *)(iVar5 + 0xc)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)((int)piVar29 + 1);" (assignment_expression "unaff_s6 = (int *)((int)piVar29 + 1)" (identifier "unaff_s6") (= "=") (cast_expression "(int *)((int)piVar29 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar29 + 1)" (( "(") (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar29")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" (if "if") (parenthesized_expression "((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0))" (( "(") (binary_expression "(iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)" (parenthesized_expression "(iVar16 == 1)" (( "(") (binary_expression "iVar16 == 1" (identifier "iVar16") (== "==") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 1) == 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 1) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 1)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 1" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;\n              pcVar7 = *(code **)(pcVar7 + -0x602c);\n              goto LAB_0006ad54;\n            }" ({ "{") (if_statement "if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;" (if "if") (parenthesized_expression "(piVar29 != *(int **)(iVar41 + 0x18))" (( "(") (binary_expression "piVar29 != *(int **)(iVar41 + 0x18)" (identifier "piVar29") (!= "!=") (pointer_expression "*(int **)(iVar41 + 0x18)" (* "*") (cast_expression "(int **)(iVar41 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar41 + 0x18)" (( "(") (binary_expression "iVar41 + 0x18" (identifier "iVar41") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (goto_statement "goto LAB_0006ac88;" (goto "goto") (statement_identifier "LAB_0006ac88") (; ";"))) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcVar7 + -0x602c)" (* "*") (cast_expression "(code **)(pcVar7 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + -0x602c)" (( "(") (binary_expression "pcVar7 + -0x602c" (identifier "pcVar7") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006ad54;" (goto "goto") (statement_identifier "LAB_0006ad54") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0006ac6c:\n          piVar29 = (int *)((int)piVar29 + 1);" (statement_identifier "LAB_0006ac6c") (: ":") (expression_statement "piVar29 = (int *)((int)piVar29 + 1);" (assignment_expression "piVar29 = (int *)((int)piVar29 + 1)" (identifier "piVar29") (= "=") (cast_expression "(int *)((int)piVar29 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar29 + 1)" (( "(") (binary_expression "(int)piVar29 + 1" (cast_expression "(int)piVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar29")) (+ "+") (number_literal "1")) () ")")))) (; ";"))) (expression_statement "piVar45 = *(int **)(iVar41 + 0x18);" (assignment_expression "piVar45 = *(int **)(iVar41 + 0x18)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(iVar41 + 0x18)" (* "*") (cast_expression "(int **)(iVar41 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar41 + 0x18)" (( "(") (binary_expression "iVar41 + 0x18" (identifier "iVar41") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "unaff_s6 = piVar29;" (assignment_expression "unaff_s6 = piVar29" (identifier "unaff_s6") (= "=") (identifier "piVar29")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)piVar29 < (int)piVar45)" (( "(") (binary_expression "(int)piVar29 < (int)piVar45" (cast_expression "(int)piVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar29")) (< "<") (cast_expression "(int)piVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar45"))) () ")")) (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcVar7 + -0x602c)" (* "*") (cast_expression "(code **)(pcVar7 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + -0x602c)" (( "(") (binary_expression "pcVar7 + -0x602c" (identifier "pcVar7") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (if_statement "if (piVar29 == piVar45) {\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" (if "if") (parenthesized_expression "(piVar29 == piVar45)" (( "(") (binary_expression "piVar29 == piVar45" (identifier "piVar29") (== "==") (identifier "piVar45")) () ")")) (compound_statement "{\nLAB_0006ad54:\n        puVar12 = auStack_364;\n        (*pcVar7)(3,auStack_364,0);\n        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }\n        wait_procsubs();\n        reap_procsubs();\n        iVar5 = 1;\n        FUN_00065adc();\n        if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }\n        FUN_000645ac();\n        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }\n        pcVar7 = *(code **)(pcStack_400 + -0x60b8);\n        pcVar8 = wait_for_job;\n        (*pcVar7)();\n        pcStack_560 = pcVar7 + 0xe1688;\n        piStack_548 = *(int **)(pcVar7 + 0xdb624);\n        puVar31 = auStack_53c;\n        piVar44 = (int *)(iVar5 * 4);\n        iStack_43c = *piStack_548;\n        piVar45 = *(int **)(pcVar7 + 0xd9fa4);\n        piStack_438 = piVar29;\n        iStack_434 = iVar20;\n        puStack_430 = auStack_364;\n        iStack_42c = iVar9 + 0x7d64;\n        puStack_428 = auStack_3e4;\n        iStack_424 = iVar41;\n        piStack_420 = unaff_s6;\n        piStack_41c = piVar43;\n        piStack_418 = piVar21;\n        pcStack_414 = pcVar8;\n        (**(code **)(pcVar7 + 0xdb41c))(puVar31);\n        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }\n        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);\n        piVar43 = (int *)0xffffffff;\n        piVar21 = (int *)((uint)puVar12 & 2);\n        iStack_54c = *(int *)(pcStack_560 + -0x76e8);\n        iVar20 = FUN_00065a6c(iVar5);\n        piVar29 = *(int **)(iVar20 + 4);\n        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);\n        goto LAB_0006afd8;\n      }" ({ "{") (labeled_statement "LAB_0006ad54:\n        puVar12 = auStack_364;" (statement_identifier "LAB_0006ad54") (: ":") (expression_statement "puVar12 = auStack_364;" (assignment_expression "puVar12 = auStack_364" (identifier "puVar12") (= "=") (identifier "auStack_364")) (; ";"))) (expression_statement "(*pcVar7)(3,auStack_364,0);" (call_expression "(*pcVar7)(3,auStack_364,0)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(3,auStack_364,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_364") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {\n          wait_for();\n        }" (if "if") (parenthesized_expression "((**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1))" (( "(") (binary_expression "(**(int **)(pcStack_400 + -0x73fc) != 0) &&\n           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) != 0)" (( "(") (binary_expression "**(int **)(pcStack_400 + -0x73fc) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" (* "*") (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" (* "*") (cast_expression "(int **)(pcStack_400 + -0x73fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x73fc)" (( "(") (binary_expression "pcStack_400 + -0x73fc" (identifier "pcStack_400") (+ "+") (number_literal "-0x73fc")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)" (( "(") (binary_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1" (pointer_expression "*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" (* "*") (cast_expression "(int *)(**(int **)(pcStack_400 + -0x73fc) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(**(int **)(pcStack_400 + -0x73fc) + 4)" (( "(") (binary_expression "**(int **)(pcStack_400 + -0x73fc) + 4" (pointer_expression "**(int **)(pcStack_400 + -0x73fc)" (* "*") (pointer_expression "*(int **)(pcStack_400 + -0x73fc)" (* "*") (cast_expression "(int **)(pcStack_400 + -0x73fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x73fc)" (( "(") (binary_expression "pcStack_400 + -0x73fc" (identifier "pcStack_400") (+ "+") (number_literal "-0x73fc")) () ")"))))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "-1")) () ")"))) () ")")) (compound_statement "{\n          wait_for();\n        }" ({ "{") (expression_statement "wait_for();" (call_expression "wait_for()" (identifier "wait_for") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "wait_procsubs();" (call_expression "wait_procsubs()" (identifier "wait_procsubs") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "reap_procsubs();" (call_expression "reap_procsubs()" (identifier "reap_procsubs") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (expression_statement "FUN_00065adc();" (call_expression "FUN_00065adc()" (identifier "FUN_00065adc") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {\n          FUN_00068b60();\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0))" (( "(") (binary_expression "(*(int *)(iVar41 + 0x18) != 0) &&\n           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" (parenthesized_expression "(*(int *)(iVar41 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(iVar41 + 0x18) != 0" (pointer_expression "*(int *)(iVar41 + 0x18)" (* "*") (cast_expression "(int *)(iVar41 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x18)" (( "(") (binary_expression "iVar41 + 0x18" (identifier "iVar41") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0" (pointer_expression "*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_400 + -0x73ec) + -0x705c)" (( "(") (binary_expression "*(int *)(pcStack_400 + -0x73ec) + -0x705c" (pointer_expression "*(int *)(pcStack_400 + -0x73ec)" (* "*") (cast_expression "(int *)(pcStack_400 + -0x73ec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_400 + -0x73ec)" (( "(") (binary_expression "pcStack_400 + -0x73ec" (identifier "pcStack_400") (+ "+") (number_literal "-0x73ec")) () ")")))) (+ "+") (number_literal "-0x705c")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          FUN_00068b60();\n        }" ({ "{") (expression_statement "FUN_00068b60();" (call_expression "FUN_00068b60()" (identifier "FUN_00068b60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000645ac();" (call_expression "FUN_000645ac()" (identifier "FUN_000645ac") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puStack_2e4 == (undefined1 *)*piStack_3f0) {\n          return (undefined1 *)*piStack_3f0;\n        }" (if "if") (parenthesized_expression "(puStack_2e4 == (undefined1 *)*piStack_3f0)" (( "(") (binary_expression "puStack_2e4 == (undefined1 *)*piStack_3f0" (identifier "puStack_2e4") (== "==") (cast_expression "(undefined1 *)*piStack_3f0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piStack_3f0" (* "*") (identifier "piStack_3f0")))) () ")")) (compound_statement "{\n          return (undefined1 *)*piStack_3f0;\n        }" ({ "{") (return_statement "return (undefined1 *)*piStack_3f0;" (return "return") (cast_expression "(undefined1 *)*piStack_3f0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piStack_3f0" (* "*") (identifier "piStack_3f0"))) (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x60b8)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_400 + -0x60b8)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x60b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x60b8)" (( "(") (binary_expression "pcStack_400 + -0x60b8" (identifier "pcStack_400") (+ "+") (number_literal "-0x60b8")) () ")"))))) (; ";")) (expression_statement "pcVar8 = wait_for_job;" (assignment_expression "pcVar8 = wait_for_job" (identifier "pcVar8") (= "=") (identifier "wait_for_job")) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_560 = pcVar7 + 0xe1688;" (assignment_expression "pcStack_560 = pcVar7 + 0xe1688" (identifier "pcStack_560") (= "=") (binary_expression "pcVar7 + 0xe1688" (identifier "pcVar7") (+ "+") (number_literal "0xe1688"))) (; ";")) (expression_statement "piStack_548 = *(int **)(pcVar7 + 0xdb624);" (assignment_expression "piStack_548 = *(int **)(pcVar7 + 0xdb624)" (identifier "piStack_548") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xdb624)" (* "*") (cast_expression "(int **)(pcVar7 + 0xdb624)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdb624)" (( "(") (binary_expression "pcVar7 + 0xdb624" (identifier "pcVar7") (+ "+") (number_literal "0xdb624")) () ")"))))) (; ";")) (expression_statement "puVar31 = auStack_53c;" (assignment_expression "puVar31 = auStack_53c" (identifier "puVar31") (= "=") (identifier "auStack_53c")) (; ";")) (expression_statement "piVar44 = (int *)(iVar5 * 4);" (assignment_expression "piVar44 = (int *)(iVar5 * 4)" (identifier "piVar44") (= "=") (cast_expression "(int *)(iVar5 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 * 4)" (( "(") (binary_expression "iVar5 * 4" (identifier "iVar5") (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "iStack_43c = *piStack_548;" (assignment_expression "iStack_43c = *piStack_548" (identifier "iStack_43c") (= "=") (pointer_expression "*piStack_548" (* "*") (identifier "piStack_548"))) (; ";")) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9fa4);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9fa4)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd9fa4)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9fa4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9fa4)" (( "(") (binary_expression "pcVar7 + 0xd9fa4" (identifier "pcVar7") (+ "+") (number_literal "0xd9fa4")) () ")"))))) (; ";")) (expression_statement "piStack_438 = piVar29;" (assignment_expression "piStack_438 = piVar29" (identifier "piStack_438") (= "=") (identifier "piVar29")) (; ";")) (expression_statement "iStack_434 = iVar20;" (assignment_expression "iStack_434 = iVar20" (identifier "iStack_434") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "puStack_430 = auStack_364;" (assignment_expression "puStack_430 = auStack_364" (identifier "puStack_430") (= "=") (identifier "auStack_364")) (; ";")) (expression_statement "iStack_42c = iVar9 + 0x7d64;" (assignment_expression "iStack_42c = iVar9 + 0x7d64" (identifier "iStack_42c") (= "=") (binary_expression "iVar9 + 0x7d64" (identifier "iVar9") (+ "+") (number_literal "0x7d64"))) (; ";")) (expression_statement "puStack_428 = auStack_3e4;" (assignment_expression "puStack_428 = auStack_3e4" (identifier "puStack_428") (= "=") (identifier "auStack_3e4")) (; ";")) (expression_statement "iStack_424 = iVar41;" (assignment_expression "iStack_424 = iVar41" (identifier "iStack_424") (= "=") (identifier "iVar41")) (; ";")) (expression_statement "piStack_420 = unaff_s6;" (assignment_expression "piStack_420 = unaff_s6" (identifier "piStack_420") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "piStack_41c = piVar43;" (assignment_expression "piStack_41c = piVar43" (identifier "piStack_41c") (= "=") (identifier "piVar43")) (; ";")) (expression_statement "piStack_418 = piVar21;" (assignment_expression "piStack_418 = piVar21" (identifier "piStack_418") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "pcStack_414 = pcVar8;" (assignment_expression "pcStack_414 = pcVar8" (identifier "pcStack_414") (= "=") (identifier "pcVar8")) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdb41c))(puVar31);" (call_expression "(**(code **)(pcVar7 + 0xdb41c))(puVar31)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb41c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdb41c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdb41c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdb41c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdb41c)" (( "(") (binary_expression "pcVar7 + 0xdb41c" (identifier "pcVar7") (+ "+") (number_literal "0xdb41c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x61dc)" (( "(") (binary_expression "pcStack_560 + -0x61dc" (identifier "pcStack_560") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar31,0x12)" (( "(") (identifier "puVar31") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_4bc)" (( "(") (identifier "auStack_4bc") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar31,auStack_4bc)" (( "(") (number_literal "1") (, ",") (identifier "puVar31") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2)" (( "(") (binary_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2" (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (* "*") (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (( "(") (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" (* "*") (cast_expression "(int *)(*piVar45 + (int)piVar44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar45 + (int)piVar44)" (( "(") (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (+ "+") (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44"))) () ")")))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);\n          internal_warning(uVar30,iVar5 + 1);\n        }" ({ "{") (expression_statement "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);" (assignment_expression "uVar30 = (**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcStack_560 + -0x60a8))\n                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x60a8))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x60a8)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x60a8)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x60a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x60a8)" (( "(") (binary_expression "pcStack_560 + -0x60a8" (identifier "pcStack_560") (+ "+") (number_literal "-0x60a8")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcStack_560 + -0x7fc8) + 0x7d78" (pointer_expression "*(int *)(pcStack_560 + -0x7fc8)" (* "*") (cast_expression "(int *)(pcStack_560 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_560 + -0x7fc8)" (( "(") (binary_expression "pcStack_560 + -0x7fc8" (identifier "pcStack_560") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x7d78")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_warning(uVar30,iVar5 + 1);" (call_expression "internal_warning(uVar30,iVar5 + 1)" (identifier "internal_warning") (argument_list "(uVar30,iVar5 + 1)" (( "(") (identifier "uVar30") (, ",") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")"))) (; ";")) (} "}"))) (expression_statement "pcStack_554 = *(code **)(pcStack_560 + -0x77a4);" (assignment_expression "pcStack_554 = *(code **)(pcStack_560 + -0x77a4)" (identifier "pcStack_554") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x77a4)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x77a4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x77a4)" (( "(") (binary_expression "pcStack_560 + -0x77a4" (identifier "pcStack_560") (+ "+") (number_literal "-0x77a4")) () ")"))))) (; ";")) (expression_statement "piVar43 = (int *)0xffffffff;" (assignment_expression "piVar43 = (int *)0xffffffff" (identifier "piVar43") (= "=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "piVar21 = (int *)((uint)puVar12 & 2);" (assignment_expression "piVar21 = (int *)((uint)puVar12 & 2)" (identifier "piVar21") (= "=") (cast_expression "(int *)((uint)puVar12 & 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)puVar12 & 2)" (( "(") (binary_expression "(uint)puVar12 & 2" (cast_expression "(uint)puVar12" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar12")) (& "&") (number_literal "2")) () ")")))) (; ";")) (expression_statement "iStack_54c = *(int *)(pcStack_560 + -0x76e8);" (assignment_expression "iStack_54c = *(int *)(pcStack_560 + -0x76e8)" (identifier "iStack_54c") (= "=") (pointer_expression "*(int *)(pcStack_560 + -0x76e8)" (* "*") (cast_expression "(int *)(pcStack_560 + -0x76e8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_560 + -0x76e8)" (( "(") (binary_expression "pcStack_560 + -0x76e8" (identifier "pcStack_560") (+ "+") (number_literal "-0x76e8")) () ")"))))) (; ";")) (expression_statement "iVar20 = FUN_00065a6c(iVar5);" (assignment_expression "iVar20 = FUN_00065a6c(iVar5)" (identifier "iVar20") (= "=") (call_expression "FUN_00065a6c(iVar5)" (identifier "FUN_00065a6c") (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "piVar29 = *(int **)(iVar20 + 4);" (assignment_expression "piVar29 = *(int **)(iVar20 + 4)" (identifier "piVar29") (= "=") (pointer_expression "*(int **)(iVar20 + 4)" (* "*") (cast_expression "(int **)(iVar20 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar20 + 4)" (( "(") (binary_expression "iVar20 + 4" (identifier "iVar20") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_4bc,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_4bc") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);" (assignment_expression "pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" (identifier "pcStack_544") (= "=") (cast_expression "(code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_560 + -0x7550) + 0x4e60)" (( "(") (binary_expression "*(int *)(pcStack_560 + -0x7550) + 0x4e60" (pointer_expression "*(int *)(pcStack_560 + -0x7550)" (* "*") (cast_expression "(int *)(pcStack_560 + -0x7550)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_560 + -0x7550)" (( "(") (binary_expression "pcStack_560 + -0x7550" (identifier "pcStack_560") (+ "+") (number_literal "-0x7550")) () ")")))) (+ "+") (number_literal "0x4e60")) () ")")))) (; ";")) (goto_statement "goto LAB_0006afd8;" (goto "goto") (statement_identifier "LAB_0006afd8") (; ";")) (} "}"))) (labeled_statement "LAB_0006ac88:\n      iVar5 = (*pcStack_3f4)(piVar29);" (statement_identifier "LAB_0006ac88") (: ":") (expression_statement "iVar5 = (*pcStack_3f4)(piVar29);" (assignment_expression "iVar5 = (*pcStack_3f4)(piVar29)" (identifier "iVar5") (= "=") (call_expression "(*pcStack_3f4)(piVar29)" (parenthesized_expression "(*pcStack_3f4)" (( "(") (pointer_expression "*pcStack_3f4" (* "*") (identifier "pcStack_3f4")) () ")")) (argument_list "(piVar29)" (( "(") (identifier "piVar29") () ")")))) (; ";"))) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(iVar5 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);" (call_expression "(**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0)" (parenthesized_expression "(**(code **)(pcStack_400 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x602c)" (( "(") (binary_expression "pcStack_400 + -0x602c" (identifier "pcStack_400") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_364,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_364") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (**(int **)(pcStack_400 + -0x7d0c) != 0) {\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" (if "if") (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d0c) != 0)" (( "(") (binary_expression "**(int **)(pcStack_400 + -0x7d0c) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" (* "*") (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" (* "*") (cast_expression "(int **)(pcStack_400 + -0x7d0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x7d0c)" (( "(") (binary_expression "pcStack_400 + -0x7d0c" (identifier "pcStack_400") (+ "+") (number_literal "-0x7d0c")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));" (call_expression "(**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c))" (parenthesized_expression "(**(code **)(pcStack_400 + -0x7d08))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x7d08)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x7d08)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x7d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x7d08)" (( "(") (binary_expression "pcStack_400 + -0x7d08" (identifier "pcStack_400") (+ "+") (number_literal "-0x7d08")) () ")"))))) () ")")) (argument_list "(**(int **)(pcStack_400 + -0x7d0c))" (( "(") (pointer_expression "**(int **)(pcStack_400 + -0x7d0c)" (* "*") (pointer_expression "*(int **)(pcStack_400 + -0x7d0c)" (* "*") (cast_expression "(int **)(pcStack_400 + -0x7d0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x7d0c)" (( "(") (binary_expression "pcStack_400 + -0x7d0c" (identifier "pcStack_400") (+ "+") (number_literal "-0x7d0c")) () ")"))))) () ")"))) (; ";")) (} "}"))) (if_statement "if (**(int **)(pcStack_400 + -0x7d04) != 0) {\n        (**(code **)(pcStack_400 + -32000))();\n      }" (if "if") (parenthesized_expression "(**(int **)(pcStack_400 + -0x7d04) != 0)" (( "(") (binary_expression "**(int **)(pcStack_400 + -0x7d04) != 0" (pointer_expression "**(int **)(pcStack_400 + -0x7d04)" (* "*") (pointer_expression "*(int **)(pcStack_400 + -0x7d04)" (* "*") (cast_expression "(int **)(pcStack_400 + -0x7d04)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x7d04)" (( "(") (binary_expression "pcStack_400 + -0x7d04" (identifier "pcStack_400") (+ "+") (number_literal "-0x7d04")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcStack_400 + -32000))();\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_400 + -32000))();" (call_expression "(**(code **)(pcStack_400 + -32000))()" (parenthesized_expression "(**(code **)(pcStack_400 + -32000))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -32000)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -32000)" (* "*") (cast_expression "(code **)(pcStack_400 + -32000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -32000)" (( "(") (binary_expression "pcStack_400 + -32000" (identifier "pcStack_400") (+ "+") (number_literal "-32000")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();" (assignment_expression "unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))()" (identifier "unaff_s6") (= "=") (cast_expression "(int *)(**(code **)(pcStack_400 + -0x6204))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_400 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_400 + -0x6204))" (( "(") (pointer_expression "**(code **)(pcStack_400 + -0x6204)" (* "*") (pointer_expression "*(code **)(pcStack_400 + -0x6204)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x6204)" (( "(") (binary_expression "pcStack_400 + -0x6204" (identifier "pcStack_400") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*unaff_s6 = 0;" (assignment_expression "*unaff_s6 = 0" (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = wait_for_single_pid(uVar30,1);" (assignment_expression "iVar5 = wait_for_single_pid(uVar30,1)" (identifier "iVar5") (= "=") (call_expression "wait_for_single_pid(uVar30,1)" (identifier "wait_for_single_pid") (argument_list "(uVar30,1)" (( "(") (identifier "uVar30") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (iVar5 != -1) goto LAB_0006abe0;" (if "if") (parenthesized_expression "(iVar5 != -1)" (( "(") (binary_expression "iVar5 != -1" (identifier "iVar5") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006abe0;" (goto "goto") (statement_identifier "LAB_0006abe0") (; ";"))) (expression_statement "pcVar7 = *(code **)(pcStack_400 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_400 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_400 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_400 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_400 + -0x626c)" (( "(") (binary_expression "pcStack_400 + -0x626c" (identifier "pcStack_400") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0))" (( "(") (binary_expression "(*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0)" (parenthesized_expression "(*unaff_s6 != 10)" (( "(") (binary_expression "*unaff_s6 != 10" (pointer_expression "*unaff_s6" (* "*") (identifier "unaff_s6")) (!= "!=") (number_literal "10")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar41 + 0x18) == 0)" (( "(") (binary_expression "*(int *)(iVar41 + 0x18) == 0" (pointer_expression "*(int *)(iVar41 + 0x18)" (* "*") (cast_expression "(int *)(iVar41 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x18)" (( "(") (binary_expression "iVar41 + 0x18" (identifier "iVar41") (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (; ";")) (expression_statement "(*pcStack_3ec)();" (call_expression "(*pcStack_3ec)()" (parenthesized_expression "(*pcStack_3ec)" (( "(") (pointer_expression "*pcStack_3ec" (* "*") (identifier "pcStack_3ec")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (labeled_statement "LAB_0006b3b8:\n  puVar13 = (undefined1 *)job_exit_status(piVar45);" (statement_identifier "LAB_0006b3b8") (: ":") (expression_statement "puVar13 = (undefined1 *)job_exit_status(piVar45);" (assignment_expression "puVar13 = (undefined1 *)job_exit_status(piVar45)" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)job_exit_status(piVar45)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "job_exit_status(piVar45)" (identifier "job_exit_status") (argument_list "(piVar45)" (( "(") (identifier "piVar45") () ")"))))) (; ";"))) (if_statement "if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)) {\n    FUN_00066b6c(piVar45,0);\n  }" (if "if") (parenthesized_expression "(((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0))" (( "(") (binary_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&\n     (*(int *)(iVar20 + -0x705c) == 0)" (parenthesized_expression "((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0))" (( "(") (binary_expression "(piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(piVar26 == (int *)0x0)" (( "(") (binary_expression "piVar26 == (int *)0x0" (identifier "piVar26") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)" (( "(") (comma_expression "FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0" (call_expression "FUN_00065dcc()" (identifier "FUN_00065dcc") (argument_list "()" (( "(") () ")"))) (, ",") (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" (* "*") (cast_expression "(int *)(puVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" (* "*") (cast_expression "(int *)(iVar20 + -0x705c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + -0x705c)" (( "(") (binary_expression "iVar20 + -0x705c" (identifier "iVar20") (+ "+") (number_literal "-0x705c")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    FUN_00066b6c(piVar45,0);\n  }" ({ "{") (expression_statement "FUN_00066b6c(piVar45,0);" (call_expression "FUN_00066b6c(piVar45,0)" (identifier "FUN_00066b6c") (argument_list "(piVar45,0)" (( "(") (identifier "piVar45") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_6b0 + -0x737c))();" (call_expression "(**(code **)(pcStack_6b0 + -0x737c))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x737c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x737c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x737c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x737c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x737c)" (( "(") (binary_expression "pcStack_6b0 + -0x737c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x737c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,puVar31,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar31") (, ",") (number_literal "0") () ")"))) (; ";")) (goto_statement "goto LAB_0006b430;" (goto "goto") (statement_identifier "LAB_0006b430") (; ";")) (while_statement "while( true ) {\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);\n    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);\n    if (iStack_550 == 4) break;\nLAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);\n    if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }\n    (*pcVar7)();\n    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n    if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }\n    if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }\n  }" ({ "{") (expression_statement "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);" (assignment_expression "iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (identifier "iStack_550") (= "=") (pointer_expression "*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (* "*") (cast_expression "(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) + 0xc)" (( "(") (binary_expression "*(int *)(*piVar45 + (int)piVar44) + 0xc" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" (* "*") (cast_expression "(int *)(*piVar45 + (int)piVar44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar45 + (int)piVar44)" (( "(") (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (+ "+") (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44"))) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_4bc)" (( "(") (number_literal "3") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (if_statement "if (iStack_550 == 4) break;" (if "if") (parenthesized_expression "(iStack_550 == 4)" (( "(") (binary_expression "iStack_550 == 4" (identifier "iStack_550") (== "==") (number_literal "4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_0006afd8:\n    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" (statement_identifier "LAB_0006afd8") (: ":") (expression_statement "puVar12 = (undefined1 *)(*pcStack_554)(piVar29);" (assignment_expression "puVar12 = (undefined1 *)(*pcStack_554)(piVar29)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)(*pcStack_554)(piVar29)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcStack_554)(piVar29)" (parenthesized_expression "(*pcStack_554)" (( "(") (pointer_expression "*pcStack_554" (* "*") (identifier "pcStack_554")) () ")")) (argument_list "(piVar29)" (( "(") (identifier "piVar29") () ")"))))) (; ";"))) (if_statement "if (((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)) {\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }\n    else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" (if "if") (parenthesized_expression "(((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0))" (( "(") (binary_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&\n       (*(int *)(iStack_54c + 0x18) != 0)" (parenthesized_expression "((puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10))" (( "(") (binary_expression "(puVar12 == (undefined1 *)0xffffffff) &&\n        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" (parenthesized_expression "(puVar12 == (undefined1 *)0xffffffff)" (( "(") (binary_expression "puVar12 == (undefined1 *)0xffffffff" (identifier "puVar12") (== "==") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (&& "&&") (parenthesized_expression "(piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)" (( "(") (comma_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10" (assignment_expression "piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))()" (identifier "piVar26") (= "=") (cast_expression "(int *)(**(code **)(pcStack_560 + -0x6204))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_560 + -0x6204))()" (parenthesized_expression "(**(code **)(pcStack_560 + -0x6204))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x6204)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x6204)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x6204)" (( "(") (binary_expression "pcStack_560 + -0x6204" (identifier "pcStack_560") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "*piVar26 == 10" (pointer_expression "*piVar26" (* "*") (identifier "piVar26")) (== "==") (number_literal "10"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iStack_54c + 0x18) != 0)" (( "(") (binary_expression "*(int *)(iStack_54c + 0x18) != 0" (pointer_expression "*(int *)(iStack_54c + 0x18)" (* "*") (cast_expression "(int *)(iStack_54c + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_54c + 0x18)" (( "(") (binary_expression "iStack_54c + 0x18" (identifier "iStack_54c") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      (*pcStack_544)();\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" ({ "{") (expression_statement "(*pcStack_544)();" (call_expression "(*pcStack_544)()" (parenthesized_expression "(*pcStack_544)" (( "(") (pointer_expression "*pcStack_544" (* "*") (identifier "pcStack_544")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" (else "else") (compound_statement "{\n      pcVar7 = *(code **)(pcStack_560 + -0x626c);\n    }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (piVar21 == (int *)0x0) {\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" (if "if") (parenthesized_expression "(piVar21 == (int *)0x0)" (( "(") (binary_expression "piVar21 == (int *)0x0" (identifier "piVar21") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*pcVar7)(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      if (iVar5 != -1) goto LAB_0006b0d0;\n      pcVar7 = *(code **)(pcStack_560 + -0x602c);\n      goto LAB_0006b0f4;\n    }" ({ "{") (expression_statement "(*pcVar7)(puVar31);" (call_expression "(*pcVar7)(puVar31)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x61dc)" (( "(") (binary_expression "pcStack_560 + -0x61dc" (identifier "pcStack_560") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar31,0x12)" (( "(") (identifier "puVar31") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_4bc)" (( "(") (identifier "auStack_4bc") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar31,auStack_4bc)" (( "(") (number_literal "1") (, ",") (identifier "puVar31") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (if_statement "if (iVar5 != -1) goto LAB_0006b0d0;" (if "if") (parenthesized_expression "(iVar5 != -1)" (( "(") (binary_expression "iVar5 != -1" (identifier "iVar5") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006b0d0;" (goto "goto") (statement_identifier "LAB_0006b0d0") (; ";"))) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006b0f4;" (goto "goto") (statement_identifier "LAB_0006b0f4") (; ";")) (} "}"))) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x61dc)" (( "(") (binary_expression "pcStack_560 + -0x61dc" (identifier "pcStack_560") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar31,0x12)" (( "(") (identifier "puVar31") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_4bc)" (( "(") (identifier "auStack_4bc") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar31,auStack_4bc)" (( "(") (number_literal "1") (, ",") (identifier "puVar31") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (if_statement "if (iVar5 == -1) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      (**(code **)(pcStack_560 + -0x626c))(puVar31);\n      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);\n      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);\n      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);\n      goto LAB_0006b0f0;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_4bc,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_4bc") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x61dc)" (( "(") (binary_expression "pcStack_560 + -0x61dc" (identifier "pcStack_560") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar31,0x12)" (( "(") (identifier "puVar31") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_4bc)" (( "(") (identifier "auStack_4bc") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar31,auStack_4bc)" (( "(") (number_literal "1") (, ",") (identifier "puVar31") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (goto_statement "goto LAB_0006b0f0;" (goto "goto") (statement_identifier "LAB_0006b0f0") (; ";")) (} "}"))) (if_statement "if (*(int *)(*piVar45 + (int)piVar44) == 0) {\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" (if "if") (parenthesized_expression "(*(int *)(*piVar45 + (int)piVar44) == 0)" (( "(") (binary_expression "*(int *)(*piVar45 + (int)piVar44) == 0" (pointer_expression "*(int *)(*piVar45 + (int)piVar44)" (* "*") (cast_expression "(int *)(*piVar45 + (int)piVar44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar45 + (int)piVar44)" (( "(") (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (+ "+") (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44"))) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);\n      break;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,auStack_4bc,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_4bc") (, ",") (number_literal "0") () ")"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}"))) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);" (call_expression "(**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x61dc)" (( "(") (binary_expression "pcStack_560 + -0x61dc" (identifier "pcStack_560") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar31,0x12)" (( "(") (identifier "puVar31") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x626c))(auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x626c)" (( "(") (binary_expression "pcStack_560 + -0x626c" (identifier "pcStack_560") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(auStack_4bc)" (( "(") (identifier "auStack_4bc") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);" (call_expression "(**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc)" (parenthesized_expression "(**(code **)(pcStack_560 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_560 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar31,auStack_4bc)" (( "(") (number_literal "1") (, ",") (identifier "puVar31") (, ",") (identifier "auStack_4bc") () ")"))) (; ";")) (labeled_statement "LAB_0006b0d0:\n  piVar44 = (int *)(*piVar45 + (int)piVar44);" (statement_identifier "LAB_0006b0d0") (: ":") (expression_statement "piVar44 = (int *)(*piVar45 + (int)piVar44);" (assignment_expression "piVar44 = (int *)(*piVar45 + (int)piVar44)" (identifier "piVar44") (= "=") (cast_expression "(int *)(*piVar45 + (int)piVar44)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar45 + (int)piVar44)" (( "(") (binary_expression "*piVar45 + (int)piVar44" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (+ "+") (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44"))) () ")")))) (; ";"))) (expression_statement "iVar20 = *piVar44;" (assignment_expression "iVar20 = *piVar44" (identifier "iVar20") (= "=") (pointer_expression "*piVar44" (* "*") (identifier "piVar44"))) (; ";")) (if_statement "if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" (if "if") (parenthesized_expression "((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4))" (( "(") (binary_expression "(iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)" (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar20 + 0xc) == 4)" (( "(") (binary_expression "*(int *)(iVar20 + 0xc) == 4" (pointer_expression "*(int *)(iVar20 + 0xc)" (* "*") (cast_expression "(int *)(iVar20 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0xc)" (( "(") (binary_expression "iVar20 + 0xc" (identifier "iVar20") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "4")) () ")"))) () ")")) (compound_statement "{\n    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;\n  }" ({ "{") (expression_statement "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" (* "*") (cast_expression "(uint *)(iVar20 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x10)" (( "(") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar20 + 0x10) | 2" (pointer_expression "*(uint *)(iVar20 + 0x10)" (* "*") (cast_expression "(uint *)(iVar20 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 0x10)" (( "(") (binary_expression "iVar20 + 0x10" (identifier "iVar20") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (labeled_statement "LAB_0006b0f0:\n  pcVar7 = *(code **)(pcStack_560 + -0x602c);" (statement_identifier "LAB_0006b0f0") (: ":") (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x602c)" (( "(") (binary_expression "pcStack_560 + -0x602c" (identifier "pcStack_560") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";"))) (labeled_statement "LAB_0006b0f4:\n  (*pcVar7)(3,auStack_4bc,0);" (statement_identifier "LAB_0006b0f4") (: ":") (expression_statement "(*pcVar7)(3,auStack_4bc,0);" (call_expression "(*pcVar7)(3,auStack_4bc,0)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(3,auStack_4bc,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_4bc") (, ",") (number_literal "0") () ")"))) (; ";"))) (if_statement "if (iStack_43c == *piStack_548) {\n    return puVar12;\n  }" (if "if") (parenthesized_expression "(iStack_43c == *piStack_548)" (( "(") (binary_expression "iStack_43c == *piStack_548" (identifier "iStack_43c") (== "==") (pointer_expression "*piStack_548" (* "*") (identifier "piStack_548"))) () ")")) (compound_statement "{\n    return puVar12;\n  }" ({ "{") (return_statement "return puVar12;" (return "return") (identifier "puVar12") (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(pcStack_560 + -0x60b8);" (assignment_expression "pcVar7 = *(code **)(pcStack_560 + -0x60b8)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_560 + -0x60b8)" (* "*") (cast_expression "(code **)(pcStack_560 + -0x60b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_560 + -0x60b8)" (( "(") (binary_expression "pcStack_560 + -0x60b8" (identifier "pcStack_560") (+ "+") (number_literal "-0x60b8")) () ")"))))) (; ";")) (expression_statement "pcVar8 = wait_for_any_job;" (assignment_expression "pcVar8 = wait_for_any_job" (identifier "pcVar8") (= "=") (identifier "wait_for_any_job")) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_6b0 = pcVar7 + 0xe1290;" (assignment_expression "pcStack_6b0 = pcVar7 + 0xe1290" (identifier "pcStack_6b0") (= "=") (binary_expression "pcVar7 + 0xe1290" (identifier "pcVar7") (+ "+") (number_literal "0xe1290"))) (; ";")) (expression_statement "iVar20 = *(int *)(pcVar7 + 0xd9ea4);" (assignment_expression "iVar20 = *(int *)(pcVar7 + 0xd9ea4)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd9ea4)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd9ea4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd9ea4)" (( "(") (binary_expression "pcVar7 + 0xd9ea4" (identifier "pcVar7") (+ "+") (number_literal "0xd9ea4")) () ")"))))) (; ";")) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c)" (identifier "puVar42") (= "=") (pointer_expression "*(undefined4 **)(pcVar7 + 0xdb22c)" (* "*") (cast_expression "(undefined4 **)(pcVar7 + 0xdb22c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdb22c)" (( "(") (binary_expression "pcVar7 + 0xdb22c" (identifier "pcVar7") (+ "+") (number_literal "0xdb22c")) () ")"))))) (; ";")) (expression_statement "uStack_58c = 0xffffffff;" (assignment_expression "uStack_58c = 0xffffffff" (identifier "uStack_58c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "piStack_59c = (int *)*puVar42;" (assignment_expression "piStack_59c = (int *)*puVar42" (identifier "piStack_59c") (= "=") (cast_expression "(int *)*puVar42" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar42" (* "*") (identifier "puVar42")))) (; ";")) (expression_statement "puStack_598 = puVar31;" (assignment_expression "puStack_598 = puVar31" (identifier "puStack_598") (= "=") (identifier "puVar31")) (; ";")) (expression_statement "puStack_594 = auStack_4bc;" (assignment_expression "puStack_594 = auStack_4bc" (identifier "puStack_594") (= "=") (identifier "auStack_4bc")) (; ";")) (expression_statement "puStack_590 = puVar12;" (assignment_expression "puStack_590 = puVar12" (identifier "puStack_590") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "piStack_588 = piVar21;" (assignment_expression "piStack_588 = piVar21" (identifier "piStack_588") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "iStack_584 = iVar5;" (assignment_expression "iStack_584 = iVar5" (identifier "iStack_584") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piStack_580 = piVar29;" (assignment_expression "piStack_580 = piVar29" (identifier "piStack_580") (= "=") (identifier "piVar29")) (; ";")) (expression_statement "piStack_57c = piVar44;" (assignment_expression "piStack_57c = piVar44" (identifier "piStack_57c") (= "=") (identifier "piVar44")) (; ";")) (expression_statement "piStack_578 = piVar45;" (assignment_expression "piStack_578 = piVar45" (identifier "piStack_578") (= "=") (identifier "piVar45")) (; ";")) (expression_statement "pcStack_574 = pcVar8;" (assignment_expression "pcStack_574 = pcVar8" (identifier "pcStack_574") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if (*(int *)(iVar20 + -0x705c) == 0) {\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar20 + -0x705c) == 0)" (( "(") (binary_expression "*(int *)(iVar20 + -0x705c) == 0" (pointer_expression "*(int *)(iVar20 + -0x705c)" (* "*") (cast_expression "(int *)(iVar20 + -0x705c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + -0x705c)" (( "(") (binary_expression "iVar20 + -0x705c" (identifier "iVar20") (+ "+") (number_literal "-0x705c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar13 = auStack_69c;\n    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);\n    puVar31 = auStack_61c;\n    (**(code **)(pcVar7 + 0xdb024))(puVar13);\n    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n    if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }\n    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);\n    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);\n    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    piVar45 = *(int **)(pcStack_6b0 + -0x7550);\n    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);\n    pcStack_6a4 = (code *)(piVar45 + 0x1398);\n    do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );\n  }" ({ "{") (expression_statement "puVar13 = auStack_69c;" (assignment_expression "puVar13 = auStack_69c" (identifier "puVar13") (= "=") (identifier "auStack_69c")) (; ";")) (expression_statement "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);" (assignment_expression "puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8)" (identifier "puVar12") (= "=") (pointer_expression "*(undefined1 **)(pcVar7 + 0xd9ba8)" (* "*") (cast_expression "(undefined1 **)(pcVar7 + 0xd9ba8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9ba8)" (( "(") (binary_expression "pcVar7 + 0xd9ba8" (identifier "pcVar7") (+ "+") (number_literal "0xd9ba8")) () ")"))))) (; ";")) (expression_statement "puVar31 = auStack_61c;" (assignment_expression "puVar31 = auStack_61c" (identifier "puVar31") (= "=") (identifier "auStack_61c")) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdb024))(puVar13);" (call_expression "(**(code **)(pcVar7 + 0xdb024))(puVar13)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdb024))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdb024)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdb024)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdb024)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdb024)" (( "(") (binary_expression "pcVar7 + 0xdb024" (identifier "pcVar7") (+ "+") (number_literal "0xdb024")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x61dc)" (( "(") (binary_expression "pcStack_6b0 + -0x61dc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar13,0x12)" (( "(") (identifier "puVar13") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar13,puVar31)" (( "(") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "puVar31") () ")"))) (; ";")) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" (if "if") (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" (( "(") (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" (number_literal "0") (< "<") (cast_expression "(int)*(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(int **)(puVar12 + 0x18)" (* "*") (cast_expression "(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")")))))) () ")")) (compound_statement "{\n      piVar45 = (int *)0x0;\n      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);\n      piVar44 = piVar26;\n      do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));\n    }" ({ "{") (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" (identifier "piVar45") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4)" (identifier "piVar26") (= "=") (cast_expression "(int *)**(int **)(pcStack_6b0 + -0x76e4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(pcStack_6b0 + -0x76e4)" (* "*") (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x76e4)" (( "(") (binary_expression "pcStack_6b0 + -0x76e4" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x76e4")) () ")"))))))) (; ";")) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" (identifier "piVar44") (= "=") (identifier "piVar26")) (; ";")) (do_statement "do {\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      } while (piVar45 != *(int **)(puVar12 + 0x18));" (do "do") (compound_statement "{\n        iVar5 = *piVar44;\n        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;\n        piVar45 = (int *)((int)piVar45 + 1);\n        piVar44 = piVar44 + 1;\n      }" ({ "{") (expression_statement "iVar5 = *piVar44;" (assignment_expression "iVar5 = *piVar44" (identifier "iVar5") (= "=") (pointer_expression "*piVar44" (* "*") (identifier "piVar44"))) (; ";")) (if_statement "if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))\n        goto LAB_0006b3b8;" (if "if") (parenthesized_expression "(((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))" (( "(") (binary_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0)" (parenthesized_expression "((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4))" (( "(") (binary_expression "(iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)" (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(iVar5 + 0xc) == 4)" (( "(") (binary_expression "*(int *)(iVar5 + 0xc) == 4" (pointer_expression "*(int *)(iVar5 + 0xc)" (* "*") (cast_expression "(int *)(iVar5 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0xc)" (( "(") (binary_expression "iVar5 + 0xc" (identifier "iVar5") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((*(uint *)(iVar5 + 0x10) & 2) == 0)" (( "(") (binary_expression "(*(uint *)(iVar5 + 0x10) & 2) == 0" (parenthesized_expression "(*(uint *)(iVar5 + 0x10) & 2)" (( "(") (binary_expression "*(uint *)(iVar5 + 0x10) & 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0006b3b8;" (goto "goto") (statement_identifier "LAB_0006b3b8") (; ";"))) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" (identifier "piVar45") (= "=") (cast_expression "(int *)((int)piVar45 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar45 + 1)" (( "(") (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar45")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" (identifier "piVar44") (= "=") (binary_expression "piVar44 + 1" (identifier "piVar44") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar45 != *(int **)(puVar12 + 0x18))" (( "(") (binary_expression "piVar45 != *(int **)(puVar12 + 0x18)" (identifier "piVar45") (!= "!=") (pointer_expression "*(int **)(puVar12 + 0x18)" (* "*") (cast_expression "(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "piVar21 = *(int **)(pcStack_6b0 + -0x76e4);" (assignment_expression "piVar21 = *(int **)(pcStack_6b0 + -0x76e4)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcStack_6b0 + -0x76e4)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x76e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x76e4)" (( "(") (binary_expression "pcStack_6b0 + -0x76e4" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x76e4")) () ")"))))) (; ";")) (expression_statement "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);" (assignment_expression "piVar43 = *(int **)(pcStack_6b0 + -0x7d0c)" (identifier "piVar43") (= "=") (pointer_expression "*(int **)(pcStack_6b0 + -0x7d0c)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x7d0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7d0c)" (( "(") (binary_expression "pcStack_6b0 + -0x7d0c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7d0c")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,puVar31,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar31") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar45 = *(int **)(pcStack_6b0 + -0x7550);" (assignment_expression "piVar45 = *(int **)(pcStack_6b0 + -0x7550)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(pcStack_6b0 + -0x7550)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x7550)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7550)" (( "(") (binary_expression "pcStack_6b0 + -0x7550" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7550")) () ")"))))) (; ";")) (expression_statement "piVar29 = *(int **)(pcStack_6b0 + -0x7d04);" (assignment_expression "piVar29 = *(int **)(pcStack_6b0 + -0x7d04)" (identifier "piVar29") (= "=") (pointer_expression "*(int **)(pcStack_6b0 + -0x7d04)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x7d04)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7d04)" (( "(") (binary_expression "pcStack_6b0 + -0x7d04" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7d04")) () ")"))))) (; ";")) (expression_statement "pcStack_6a4 = (code *)(piVar45 + 0x1398);" (assignment_expression "pcStack_6a4 = (code *)(piVar45 + 0x1398)" (identifier "pcStack_6a4") (= "=") (cast_expression "(code *)(piVar45 + 0x1398)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar45 + 0x1398)" (( "(") (binary_expression "piVar45 + 0x1398" (identifier "piVar45") (+ "+") (number_literal "0x1398")) () ")")))) (; ";")) (do_statement "do {\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    } while( true );" (do "do") (compound_statement "{\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      iVar5 = *(int *)(puVar12 + 0x18);\n      if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }\n      (*pcVar7)(3,puVar31,0);\n      if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }\n      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }\n      piVar45 = (int *)(*pcVar7)();\n      *piVar45 = 0;\n      iVar5 = wait_for(0xffffffff);\n      if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }\n      (*pcVar7)(puVar13);\n      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);\n      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);\n      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);\n      if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }\n      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar13);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar13)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x61dc)" (( "(") (binary_expression "pcStack_6b0 + -0x61dc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar13,0x12)" (( "(") (identifier "puVar13") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar13,puVar31)" (( "(") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar12 + 0x18);" (assignment_expression "iVar5 = *(int *)(puVar12 + 0x18)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar12 + 0x18)" (* "*") (cast_expression "(int *)(puVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (iVar5 < 1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }\n      else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" (if "if") (parenthesized_expression "(iVar5 < 1)" (( "(") (binary_expression "iVar5 < 1" (identifier "iVar5") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n        if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }\n      }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (if_statement "if (iVar5 == 0) {\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);\n          puVar13 = (undefined1 *)0xffffffff;\n          goto LAB_0006b430;\n        }" ({ "{") (labeled_statement "LAB_0006b680:\n          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (statement_identifier "LAB_0006b680") (: ":") (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,puVar31,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar31") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (goto_statement "goto LAB_0006b430;" (goto "goto") (statement_identifier "LAB_0006b430") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" (else "else") (compound_statement "{\n        piVar44 = (int *)*piVar21;\n        iVar9 = 0;\n        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }\n        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);\n      }" ({ "{") (expression_statement "piVar44 = (int *)*piVar21;" (assignment_expression "piVar44 = (int *)*piVar21" (identifier "piVar44") (= "=") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (expression_statement "iVar9 = 0;" (assignment_expression "iVar9 = 0" (identifier "iVar9") (= "=") (number_literal "0")) (; ";")) (while_statement "while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" (while "while") (parenthesized_expression "(((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)))" (( "(") (parenthesized_expression "((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0))" (( "(") (binary_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||\n               ((*(uint *)(iVar41 + 0x10) & 1) != 0)" (parenthesized_expression "(iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1))" (( "(") (comma_expression "iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (assignment_expression "iVar41 = *piVar44" (identifier "iVar41") (= "=") (pointer_expression "*piVar44" (* "*") (identifier "piVar44"))) (, ",") (binary_expression "iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)" (binary_expression "iVar41 == 0" (identifier "iVar41") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(int *)(iVar41 + 0xc) != 1)" (( "(") (binary_expression "*(int *)(iVar41 + 0xc) != 1" (pointer_expression "*(int *)(iVar41 + 0xc)" (* "*") (cast_expression "(int *)(iVar41 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0xc)" (( "(") (binary_expression "iVar41 + 0xc" (identifier "iVar41") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "1")) () ")")))) () ")")) (|| "||") (parenthesized_expression "((*(uint *)(iVar41 + 0x10) & 1) != 0)" (( "(") (binary_expression "(*(uint *)(iVar41 + 0x10) & 1) != 0" (parenthesized_expression "(*(uint *)(iVar41 + 0x10) & 1)" (( "(") (binary_expression "*(uint *)(iVar41 + 0x10) & 1" (pointer_expression "*(uint *)(iVar41 + 0x10)" (* "*") (cast_expression "(uint *)(iVar41 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar41 + 0x10)" (( "(") (binary_expression "iVar41 + 0x10" (identifier "iVar41") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")")) (compound_statement "{\n          iVar9 = iVar9 + 1;\n          piVar44 = piVar44 + 1;\n          if (iVar9 == iVar5) goto LAB_0006b680;\n        }" ({ "{") (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 1" (identifier "iVar9") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" (identifier "piVar44") (= "=") (binary_expression "piVar44 + 1" (identifier "piVar44") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar9 == iVar5) goto LAB_0006b680;" (if "if") (parenthesized_expression "(iVar9 == iVar5)" (( "(") (binary_expression "iVar9 == iVar5" (identifier "iVar9") (== "==") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_0006b680;" (goto "goto") (statement_identifier "LAB_0006b680") (; ";"))) (} "}"))) (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x602c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x602c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) (; ";")) (} "}")))) (expression_statement "(*pcVar7)(3,puVar31,0);" (call_expression "(*pcVar7)(3,puVar31,0)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(3,puVar31,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar31") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*piVar43 == 0) {\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }\n      else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" (if "if") (parenthesized_expression "(*piVar43 == 0)" (( "(") (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -32000);\n        if (*piVar29 == 0) goto LAB_0006b564;\nLAB_0006b6f0:\n        (*pcVar7)();\n        if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }\n      }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -32000)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -32000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -32000)" (( "(") (binary_expression "pcStack_6b0 + -32000" (identifier "pcStack_6b0") (+ "+") (number_literal "-32000")) () ")"))))) (; ";")) (if_statement "if (*piVar29 == 0) goto LAB_0006b564;" (if "if") (parenthesized_expression "(*piVar29 == 0)" (( "(") (binary_expression "*piVar29 == 0" (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006b564;" (goto "goto") (statement_identifier "LAB_0006b564") (; ";"))) (labeled_statement "LAB_0006b6f0:\n        (*pcVar7)();" (statement_identifier "LAB_0006b6f0") (: ":") (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (if_statement "if (*piVar43 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" (if "if") (parenthesized_expression "(*piVar43 != 0)" (( "(") (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n          goto LAB_0006b708;\n        }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7d08)" (( "(") (binary_expression "pcStack_6b0 + -0x7d08" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7d08")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006b708;" (goto "goto") (statement_identifier "LAB_0006b708") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" (else "else") (compound_statement "{\n        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);\n        if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }\nLAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);\n        if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);" (call_expression "(**(code **)(pcStack_6b0 + -0x7d08))(*piVar43)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x7d08))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x7d08)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7d08)" (( "(") (binary_expression "pcStack_6b0 + -0x7d08" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7d08")) () ")"))))) () ")")) (argument_list "(*piVar43)" (( "(") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) () ")"))) (; ";")) (if_statement "if (*piVar29 != 0) {\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" (if "if") (parenthesized_expression "(*piVar29 != 0)" (( "(") (binary_expression "*piVar29 != 0" (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pcVar7 = *(code **)(pcStack_6b0 + -32000);\n          goto LAB_0006b6f0;\n        }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -32000);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -32000)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -32000)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -32000)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -32000)" (( "(") (binary_expression "pcStack_6b0 + -32000" (identifier "pcStack_6b0") (+ "+") (number_literal "-32000")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006b6f0;" (goto "goto") (statement_identifier "LAB_0006b6f0") (; ";")) (} "}"))) (labeled_statement "LAB_0006b564:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (statement_identifier "LAB_0006b564") (: ":") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x7d08)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x7d08)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x7d08)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7d08)" (( "(") (binary_expression "pcStack_6b0 + -0x7d08" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7d08")) () ")"))))) (; ";"))) (if_statement "if (*piVar43 != 0) {\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" (if "if") (parenthesized_expression "(*piVar43 != 0)" (( "(") (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006b708:\n          (*pcVar7)(*piVar43);\n        }" ({ "{") (labeled_statement "LAB_0006b708:\n          (*pcVar7)(*piVar43);" (statement_identifier "LAB_0006b708") (: ":") (expression_statement "(*pcVar7)(*piVar43);" (call_expression "(*pcVar7)(*piVar43)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(*piVar43)" (( "(") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) () ")"))) (; ";"))) (} "}"))) (} "}")))) (if_statement "if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }\n      else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73d8) == 0)" (( "(") (binary_expression "**(int **)(pcStack_6b0 + -0x73d8) == 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73d8)" (* "*") (pointer_expression "*(int **)(pcStack_6b0 + -0x73d8)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x73d8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x73d8)" (( "(") (binary_expression "pcStack_6b0 + -0x73d8" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x73d8")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n      }" ({ "{") (labeled_statement "LAB_0006b5a4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (statement_identifier "LAB_0006b5a4") (: ":") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x6204)" (( "(") (binary_expression "pcStack_6b0 + -0x6204" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x6204")) () ")"))))) (; ";"))) (} "}")) (else_clause "else {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);\n        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }\n      }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x6204);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x6204)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x6204)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x6204)" (( "(") (binary_expression "pcStack_6b0 + -0x6204" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x6204")) () ")"))))) (; ";")) (if_statement "if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" (if "if") (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x73dc) != 0)" (( "(") (binary_expression "**(int **)(pcStack_6b0 + -0x73dc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x73dc)" (* "*") (pointer_expression "*(int **)(pcStack_6b0 + -0x73dc)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x73dc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x73dc)" (( "(") (binary_expression "pcStack_6b0 + -0x73dc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x73dc")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }\n        }" ({ "{") (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" (if "if") (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != 0)" (( "(") (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != 0" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" (* "*") (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7abc)" (( "(") (binary_expression "pcStack_6b0 + -0x7abc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7abc")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);\n            pcVar7 = pcStack_6b0;\n            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;\n            goto LAB_0006b730;\n          }" ({ "{") (expression_statement "piVar44 = *(int **)(pcStack_6b0 + -0x73d4);" (assignment_expression "piVar44 = *(int **)(pcStack_6b0 + -0x73d4)" (identifier "piVar44") (= "=") (pointer_expression "*(int **)(pcStack_6b0 + -0x73d4)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x73d4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x73d4)" (( "(") (binary_expression "pcStack_6b0 + -0x73d4" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x73d4")) () ")"))))) (; ";")) (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" (identifier "pcVar7") (= "=") (identifier "pcStack_6b0")) (; ";")) (if_statement "if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))\n            goto LAB_0006b5a4;" (if "if") (parenthesized_expression "(**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))" (( "(") (binary_expression "**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0)" (pointer_expression "**(int **)(pcStack_6b0 + -0x7abc)" (* "*") (pointer_expression "*(int **)(pcStack_6b0 + -0x7abc)" (* "*") (cast_expression "(int **)(pcStack_6b0 + -0x7abc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x7abc)" (( "(") (binary_expression "pcStack_6b0 + -0x7abc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x7abc")) () ")"))))) (!= "!=") (pointer_expression "*(int *)(pcStack_6b0 + -0x73f0)" (* "*") (cast_expression "(int *)(pcStack_6b0 + -0x73f0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x73f0)" (( "(") (binary_expression "pcStack_6b0 + -0x73f0" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x73f0")) () ")"))))) () ")")) (goto_statement "goto LAB_0006b5a4;" (goto "goto") (statement_identifier "LAB_0006b5a4") (; ";"))) (goto_statement "goto LAB_0006b730;" (goto "goto") (statement_identifier "LAB_0006b730") (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "piVar45 = (int *)(*pcVar7)();" (assignment_expression "piVar45 = (int *)(*pcVar7)()" (identifier "piVar45") (= "=") (cast_expression "(int *)(*pcVar7)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*piVar45 = 0;" (assignment_expression "*piVar45 = 0" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar5 = wait_for(0xffffffff);" (assignment_expression "iVar5 = wait_for(0xffffffff)" (identifier "iVar5") (= "=") (call_expression "wait_for(0xffffffff)" (identifier "wait_for") (argument_list "(0xffffffff)" (( "(") (number_literal "0xffffffff") () ")")))) (; ";")) (if_statement "if (iVar5 == -1) {\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }\n      else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }\n      }" ({ "{") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";")) (if_statement "if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" (if "if") (parenthesized_expression "((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0))" (( "(") (binary_expression "(*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)" (parenthesized_expression "(*piVar45 == 10)" (( "(") (binary_expression "*piVar45 == 10" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (== "==") (number_literal "10")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(puVar12 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(puVar12 + 0x18) != 0" (pointer_expression "*(int *)(puVar12 + 0x18)" (* "*") (cast_expression "(int *)(puVar12 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          (*pcStack_6a4)();\n          goto LAB_0006b5d4;\n        }" ({ "{") (expression_statement "(*pcStack_6a4)();" (call_expression "(*pcStack_6a4)()" (parenthesized_expression "(*pcStack_6a4)" (( "(") (pointer_expression "*pcStack_6a4" (* "*") (identifier "pcStack_6a4")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_0006b5d4;" (goto "goto") (statement_identifier "LAB_0006b5d4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" (else "else") (compound_statement "{\nLAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);\n      }" ({ "{") (labeled_statement "LAB_0006b5d4:\n        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (statement_identifier "LAB_0006b5d4") (: ":") (expression_statement "pcVar7 = *(code **)(pcStack_6b0 + -0x626c);" (assignment_expression "pcVar7 = *(code **)(pcStack_6b0 + -0x626c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "(*pcVar7)(puVar13);" (call_expression "(*pcVar7)(puVar13)" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "(puVar13)" (( "(") (identifier "puVar13") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);" (call_expression "(**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x61dc))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x61dc)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x61dc)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x61dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x61dc)" (( "(") (binary_expression "pcStack_6b0 + -0x61dc" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x61dc")) () ")"))))) () ")")) (argument_list "(puVar13,0x12)" (( "(") (identifier "puVar13") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x626c))(puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x626c))(puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x626c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x626c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x626c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x626c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x626c)" (( "(") (binary_expression "pcStack_6b0 + -0x626c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x626c")) () ")"))))) () ")")) (argument_list "(puVar31)" (( "(") (identifier "puVar31") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(1,puVar13,puVar31)" (( "(") (number_literal "1") (, ",") (identifier "puVar13") (, ",") (identifier "puVar31") () ")"))) (; ";")) (if_statement "if (0 < (int)*(int **)(puVar12 + 0x18)) {\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" (if "if") (parenthesized_expression "(0 < (int)*(int **)(puVar12 + 0x18))" (( "(") (binary_expression "0 < (int)*(int **)(puVar12 + 0x18)" (number_literal "0") (< "<") (cast_expression "(int)*(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(int **)(puVar12 + 0x18)" (* "*") (cast_expression "(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")")))))) () ")")) (compound_statement "{\n        piVar26 = (int *)*piVar21;\n        piVar45 = (int *)0x0;\n        piVar44 = piVar26;\n        do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);\n      }" ({ "{") (expression_statement "piVar26 = (int *)*piVar21;" (assignment_expression "piVar26 = (int *)*piVar21" (identifier "piVar26") (= "=") (cast_expression "(int *)*piVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")))) (; ";")) (expression_statement "piVar45 = (int *)0x0;" (assignment_expression "piVar45 = (int *)0x0" (identifier "piVar45") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar44 = piVar26;" (assignment_expression "piVar44 = piVar26" (identifier "piVar44") (= "=") (identifier "piVar26")) (; ";")) (do_statement "do {\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        } while (*(int **)(puVar12 + 0x18) != piVar45);" (do "do") (compound_statement "{\n          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;\n          piVar45 = (int *)((int)piVar45 + 1);\n          piVar44 = piVar44 + 1;\n        }" ({ "{") (if_statement "if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;" (if "if") (parenthesized_expression "((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4))" (( "(") (binary_expression "(*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)" (parenthesized_expression "(*piVar44 != 0)" (( "(") (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*piVar44 + 0xc) == 4)" (( "(") (binary_expression "*(int *)(*piVar44 + 0xc) == 4" (pointer_expression "*(int *)(*piVar44 + 0xc)" (* "*") (cast_expression "(int *)(*piVar44 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar44 + 0xc)" (( "(") (binary_expression "*piVar44 + 0xc" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "4")) () ")"))) () ")")) (goto_statement "goto LAB_0006b3b8;" (goto "goto") (statement_identifier "LAB_0006b3b8") (; ";"))) (expression_statement "piVar45 = (int *)((int)piVar45 + 1);" (assignment_expression "piVar45 = (int *)((int)piVar45 + 1)" (identifier "piVar45") (= "=") (cast_expression "(int *)((int)piVar45 + 1)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar45 + 1)" (( "(") (binary_expression "(int)piVar45 + 1" (cast_expression "(int)piVar45" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar45")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "piVar44 = piVar44 + 1;" (assignment_expression "piVar44 = piVar44 + 1" (identifier "piVar44") (= "=") (binary_expression "piVar44 + 1" (identifier "piVar44") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(puVar12 + 0x18) != piVar45)" (( "(") (binary_expression "*(int **)(puVar12 + 0x18) != piVar45" (pointer_expression "*(int **)(puVar12 + 0x18)" (* "*") (cast_expression "(int **)(puVar12 + 0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar12 + 0x18)" (( "(") (binary_expression "puVar12 + 0x18" (identifier "puVar12") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (identifier "piVar45")) () ")")) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);" (call_expression "(**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0)" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x602c))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x602c)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x602c)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x602c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x602c)" (( "(") (binary_expression "pcStack_6b0 + -0x602c" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x602c")) () ")"))))) () ")")) (argument_list "(3,puVar31,0)" (( "(") (number_literal "3") (, ",") (identifier "puVar31") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "puVar13 = (undefined1 *)0xffffffff;" (assignment_expression "puVar13 = (undefined1 *)0xffffffff" (identifier "puVar13") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (labeled_statement "LAB_0006b430:\n  pcVar7 = pcStack_6b0;" (statement_identifier "LAB_0006b430") (: ":") (expression_statement "pcVar7 = pcStack_6b0;" (assignment_expression "pcVar7 = pcStack_6b0" (identifier "pcVar7") (= "=") (identifier "pcStack_6b0")) (; ";"))) (if_statement "if (piStack_59c == (int *)*puVar42) {\n    return puVar13;\n  }" (if "if") (parenthesized_expression "(piStack_59c == (int *)*puVar42)" (( "(") (binary_expression "piStack_59c == (int *)*puVar42" (identifier "piStack_59c") (== "==") (cast_expression "(int *)*puVar42" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar42" (* "*") (identifier "puVar42")))) () ")")) (compound_statement "{\n    return puVar13;\n  }" ({ "{") (return_statement "return puVar13;" (return "return") (identifier "puVar13") (; ";")) (} "}"))) (expression_statement "piVar44 = piStack_59c;" (assignment_expression "piVar44 = piStack_59c" (identifier "piVar44") (= "=") (identifier "piStack_59c")) (; ";")) (expression_statement "(**(code **)(pcStack_6b0 + -0x60b8))();" (call_expression "(**(code **)(pcStack_6b0 + -0x60b8))()" (parenthesized_expression "(**(code **)(pcStack_6b0 + -0x60b8))" (( "(") (pointer_expression "**(code **)(pcStack_6b0 + -0x60b8)" (* "*") (pointer_expression "*(code **)(pcStack_6b0 + -0x60b8)" (* "*") (cast_expression "(code **)(pcStack_6b0 + -0x60b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_6b0 + -0x60b8)" (( "(") (binary_expression "pcStack_6b0 + -0x60b8" (identifier "pcStack_6b0") (+ "+") (number_literal "-0x60b8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_0006b730:\n  pcVar7 = *(code **)(pcVar7 + -0x625c);" (statement_identifier "LAB_0006b730") (: ":") (expression_statement "pcVar7 = *(code **)(pcVar7 + -0x625c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + -0x625c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcVar7 + -0x625c)" (* "*") (cast_expression "(code **)(pcVar7 + -0x625c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + -0x625c)" (( "(") (binary_expression "pcVar7 + -0x625c" (identifier "pcVar7") (+ "+") (number_literal "-0x625c")) () ")"))))) (; ";"))) (expression_statement "pcVar8 = start_job;" (assignment_expression "pcVar8 = start_job" (identifier "pcVar8") (= "=") (identifier "start_job")) (; ";")) (expression_statement "puVar22 = (undefined4 *)0x1;" (assignment_expression "puVar22 = (undefined4 *)0x1" (identifier "puVar22") (= "=") (cast_expression "(undefined4 *)0x1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar26 = *(int **)(pcVar7 + 0xdada0);" (assignment_expression "piVar26 = *(int **)(pcVar7 + 0xdada0)" (identifier "piVar26") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xdada0)" (* "*") (cast_expression "(int **)(pcVar7 + 0xdada0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdada0)" (( "(") (binary_expression "pcVar7 + 0xdada0" (identifier "pcVar7") (+ "+") (number_literal "0xdada0")) () ")"))))) (; ";")) (expression_statement "iVar5 = (int)piVar44 * 4;" (assignment_expression "iVar5 = (int)piVar44 * 4" (identifier "iVar5") (= "=") (binary_expression "(int)piVar44 * 4" (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "iStack_6ec = *piVar26;" (assignment_expression "iStack_6ec = *piVar26" (identifier "iStack_6ec") (= "=") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) (; ";")) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd9720);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd9720)" (identifier "piVar36") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd9720)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9720)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9720)" (( "(") (binary_expression "pcVar7 + 0xd9720" (identifier "pcVar7") (+ "+") (number_literal "0xd9720")) () ")"))))) (; ";")) (expression_statement "puStack_6e8 = puVar31;" (assignment_expression "puStack_6e8 = puVar31" (identifier "puStack_6e8") (= "=") (identifier "puVar31")) (; ";")) (expression_statement "puStack_6e4 = puVar13;" (assignment_expression "puStack_6e4 = puVar13" (identifier "puStack_6e4") (= "=") (identifier "puVar13")) (; ";")) (expression_statement "puStack_6e0 = puVar12;" (assignment_expression "puStack_6e0 = puVar12" (identifier "puStack_6e0") (= "=") (identifier "puVar12")) (; ";")) (expression_statement "piStack_6dc = piVar43;" (assignment_expression "piStack_6dc = piVar43" (identifier "piStack_6dc") (= "=") (identifier "piVar43")) (; ";")) (expression_statement "piStack_6d8 = piVar21;" (assignment_expression "piStack_6d8 = piVar21" (identifier "piStack_6d8") (= "=") (identifier "piVar21")) (; ";")) (expression_statement "puStack_6d4 = puVar42;" (assignment_expression "puStack_6d4 = puVar42" (identifier "puStack_6d4") (= "=") (identifier "puVar42")) (; ";")) (expression_statement "piStack_6d0 = piVar29;" (assignment_expression "piStack_6d0 = piVar29" (identifier "piStack_6d0") (= "=") (identifier "piVar29")) (; ";")) (expression_statement "iStack_6cc = iVar20;" (assignment_expression "iStack_6cc = iVar20" (identifier "iStack_6cc") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "piStack_6c8 = piVar45;" (assignment_expression "piStack_6c8 = piVar45" (identifier "piStack_6c8") (= "=") (identifier "piVar45")) (; ";")) (expression_statement "pcStack_6c4 = pcVar8;" (assignment_expression "pcStack_6c4 = pcVar8" (identifier "pcStack_6c4") (= "=") (identifier "pcVar8")) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_7ec)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdab98)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdab98)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdab98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdab98)" (( "(") (binary_expression "pcVar7 + 0xdab98" (identifier "pcVar7") (+ "+") (number_literal "0xdab98")) () ")"))))) () ")")) (argument_list "(auStack_7ec)" (( "(") (identifier "auStack_7ec") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);" (call_expression "(**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac28))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdac28)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdac28)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdac28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdac28)" (( "(") (binary_expression "pcVar7 + 0xdac28" (identifier "pcVar7") (+ "+") (number_literal "0xdac28")) () ")"))))) () ")")) (argument_list "(auStack_7ec,0x12)" (( "(") (identifier "auStack_7ec") (, ",") (number_literal "0x12") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdab98))(auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdab98))(auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdab98))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdab98)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdab98)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdab98)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdab98)" (( "(") (binary_expression "pcVar7 + 0xdab98" (identifier "pcVar7") (+ "+") (number_literal "0xdab98")) () ")"))))) () ")")) (argument_list "(auStack_76c)" (( "(") (identifier "auStack_76c") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdadd8)" (( "(") (binary_expression "pcVar7 + 0xdadd8" (identifier "pcVar7") (+ "+") (number_literal "0xdadd8")) () ")"))))) () ")")) (argument_list "(1,auStack_7ec,auStack_76c)" (( "(") (number_literal "1") (, ",") (identifier "auStack_7ec") (, ",") (identifier "auStack_76c") () ")"))) (; ";")) (expression_statement "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);" (assignment_expression "iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" (* "*") (cast_expression "(int *)(*(int *)(*piVar36 + iVar5) + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0xc)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 0xc" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar20 == 4) {\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" (if "if") (parenthesized_expression "(iVar20 == 4)" (( "(") (binary_expression "iVar20 == 4" (identifier "iVar20") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n    puVar12 = (undefined1 *)0xffffffff;\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" ({ "{") (expression_statement "puVar12 = (undefined1 *)0xffffffff;" (assignment_expression "puVar12 = (undefined1 *)0xffffffff" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)0xffffffff" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdad5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdad5c)" (( "(") (binary_expression "pcVar7 + 0xdad5c" (identifier "pcVar7") (+ "+") (number_literal "0xdad5c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7d9c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" (identifier "internal_error") (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec))" (( "(") (identifier "uVar30") (, ",") (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" (* "*") (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" (* "*") (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8fec)" (( "(") (binary_expression "pcVar7 + 0xd8fec" (identifier "pcVar7") (+ "+") (number_literal "0xd8fec")) () ")"))))) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdadd8)" (( "(") (binary_expression "pcVar7 + 0xdadd8" (identifier "pcVar7") (+ "+") (number_literal "0xdadd8")) () ")"))))) () ")")) (argument_list "(3,auStack_76c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_76c") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" (else "else") (if_statement "if (puVar22 == (undefined4 *)0x0) {\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }\n  else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" (if "if") (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar22 == (undefined4 *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }\n    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);\n    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);\nLAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n  }" ({ "{") (if_statement "if (iVar20 != 1) {\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" (if "if") (parenthesized_expression "(iVar20 != 1)" (( "(") (binary_expression "iVar20 != 1" (identifier "iVar20") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n      uStack_7f4 = FUN_000649c8();\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      iVar41 = **(int **)(pcVar7 + 0xd8e50);\n      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;\n      if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }\n      piVar43 = *(int **)(iVar9 + 4);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;\n      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);\n      goto LAB_0006b898;\n    }" ({ "{") (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" (identifier "uStack_7f4") (= "=") (call_expression "FUN_000649c8()" (identifier "FUN_000649c8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "iVar41 = **(int **)(pcVar7 + 0xd8e50);" (assignment_expression "iVar41 = **(int **)(pcVar7 + 0xd8e50)" (identifier "iVar41") (= "=") (pointer_expression "**(int **)(pcVar7 + 0xd8e50)" (* "*") (pointer_expression "*(int **)(pcVar7 + 0xd8e50)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8e50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e50)" (( "(") (binary_expression "pcVar7 + 0xd8e50" (identifier "pcVar7") (+ "+") (number_literal "0xd8e50")) () ")")))))) (; ";")) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0xfffffffd"))) (; ";")) (if_statement "if (iVar41 == 0) {\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }\n      else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" (if "if") (parenthesized_expression "(iVar41 == 0)" (( "(") (binary_expression "iVar41 == 0" (identifier "iVar41") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }\n      }" ({ "{") (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }\n        else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" (if "if") (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44)" (( "(") (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" (* "*") (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x2c)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x2c" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd971c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd971c)" (( "(") (binary_expression "pcVar7 + 0xd971c" (identifier "pcVar7") (+ "+") (number_literal "0xd971c")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (identifier "piVar44")) () ")")) (compound_statement "{\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;\n        }" ({ "{") (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144" (identifier "iVar41") (= "=") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7144" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7144"))) (; ";")) (} "}")) (else_clause "else {\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" (else "else") (compound_statement "{\n          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;\n          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;\n        }" ({ "{") (if_statement "if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;" (if "if") (parenthesized_expression "(*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44)" (( "(") (binary_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44" (pointer_expression "*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" (* "*") (cast_expression "(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar7 + 0xd971c) + 0x30)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xd971c) + 0x30" (pointer_expression "*(int *)(pcVar7 + 0xd971c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd971c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd971c)" (( "(") (binary_expression "pcVar7 + 0xd971c" (identifier "pcVar7") (+ "+") (number_literal "0xd971c")) () ")")))) (+ "+") (number_literal "0x30")) () ")")))) (!= "!=") (identifier "piVar44")) () ")")) (goto_statement "goto LAB_0006b860;" (goto "goto") (statement_identifier "LAB_0006b860") (; ";"))) (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98" (identifier "iVar41") (= "=") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7d98" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7d98"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" (else "else") (compound_statement "{\nLAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;\n      }" ({ "{") (labeled_statement "LAB_0006b860:\n        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" (statement_identifier "LAB_0006b860") (: ":") (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04" (identifier "iVar41") (= "=") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b04" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7b04"))) (; ";"))) (} "}")))) (expression_statement "piVar43 = *(int **)(iVar9 + 4);" (assignment_expression "piVar43 = *(int **)(iVar9 + 4)" (identifier "piVar43") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)\n      ;" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdabb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdabb0)" (( "(") (binary_expression "pcVar7 + 0xdabb0" (identifier "pcVar7") (+ "+") (number_literal "0xdabb0")) () ")"))))) () ")")) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)" (( "(") (number_literal "1") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7dd8")) (, ",") (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44")) (+ "+") (number_literal "1")) (, ",") (identifier "iVar41") () ")"))) (; ";")) (expression_statement "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);" (assignment_expression "piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(*(int *)(*piVar36 + iVar5) + 4)" (* "*") (cast_expression "(int **)(*(int *)(*piVar36 + iVar5) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 4)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 4" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (goto_statement "goto LAB_0006b898;" (goto "goto") (statement_identifier "LAB_0006b898") (; ";")) (} "}"))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdad5c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdad5c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdad5c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdad5c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdad5c)" (( "(") (binary_expression "pcVar7 + 0xdad5c" (identifier "pcVar7") (+ "+") (number_literal "0xdad5c")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7db4" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7db4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);" (call_expression "internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" (identifier "internal_error") (argument_list "(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1)" (( "(") (identifier "uVar30") (, ",") (pointer_expression "**(undefined4 **)(pcVar7 + 0xd8fec)" (* "*") (pointer_expression "*(undefined4 **)(pcVar7 + 0xd8fec)" (* "*") (cast_expression "(undefined4 **)(pcVar7 + 0xd8fec)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8fec)" (( "(") (binary_expression "pcVar7 + 0xd8fec" (identifier "pcVar7") (+ "+") (number_literal "0xd8fec")) () ")"))))) (, ",") (binary_expression "(int)piVar44 + 1" (cast_expression "(int)piVar44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar44")) (+ "+") (number_literal "1")) () ")"))) (; ";")) (labeled_statement "LAB_0006b9dc:\n    puVar12 = (undefined1 *)0x0;" (statement_identifier "LAB_0006b9dc") (: ":") (expression_statement "puVar12 = (undefined1 *)0x0;" (assignment_expression "puVar12 = (undefined1 *)0x0" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdadd8)" (( "(") (binary_expression "pcVar7 + 0xdadd8" (identifier "pcVar7") (+ "+") (number_literal "0xdadd8")) () ")"))))) () ")")) (argument_list "(3,auStack_76c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_76c") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" (else "else") (compound_statement "{\n    uStack_7f4 = FUN_000649c8();\n    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;\n    FUN_00064368(piVar44);\n    iVar9 = *(int *)(*piVar36 + iVar5);\n    piVar21 = *(int **)(iVar9 + 4);\n    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;\n    piVar43 = piVar21;\nLAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);\n    iVar9 = *(int *)(pcVar7 + 0xd8e70);\n    iVar16 = *(int *)(pcVar7 + 0xd8e3c);\n    do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);\n    if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }\n    uVar30 = *puVar42;\n    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);\n    if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }\n    (**(code **)(pcVar7 + 0xdac04))(10);\n    if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }\nLAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);\n    uVar30 = *(undefined4 *)(iVar5 + 4);\n    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);\n    puVar12 = (undefined1 *)wait_for(uVar30);\n    puVar42 = puVar32;\n    do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);\n    *puVar17 = *puVar14;\n    set_tty_state();\n  }" ({ "{") (expression_statement "uStack_7f4 = FUN_000649c8();" (assignment_expression "uStack_7f4 = FUN_000649c8()" (identifier "uStack_7f4") (= "=") (call_expression "FUN_000649c8()" (identifier "FUN_000649c8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0xfffffffd"))) (; ";")) (expression_statement "FUN_00064368(piVar44);" (call_expression "FUN_00064368(piVar44)" (identifier "FUN_00064368") (argument_list "(piVar44)" (( "(") (identifier "piVar44") () ")"))) (; ";")) (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar9 + 0x10) | 1" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "1"))) (; ";")) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" (identifier "piVar43") (= "=") (identifier "piVar21")) (; ";")) (labeled_statement "LAB_0006b898:\n    iVar41 = *(int *)(pcVar7 + 0xd8e3c);" (statement_identifier "LAB_0006b898") (: ":") (expression_statement "iVar41 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar41 = *(int *)(pcVar7 + 0xd8e3c)" (identifier "iVar41") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")"))))) (; ";"))) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd8e70);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd8e70)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd8e70)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e70)" (( "(") (binary_expression "pcVar7 + 0xd8e70" (identifier "pcVar7") (+ "+") (number_literal "0xd8e70")) () ")"))))) (; ";")) (expression_statement "iVar16 = *(int *)(pcVar7 + 0xd8e3c);" (assignment_expression "iVar16 = *(int *)(pcVar7 + 0xd8e3c)" (identifier "iVar16") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")"))))) (; ";")) (do_statement "do {\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    } while (piVar21 != piVar43);" (do "do") (compound_statement "{\n      iVar24 = piVar43[4];\n      if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }\n      iVar27 = iVar16 + 0x6720;\n      if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }\n      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);\n      piVar43 = (int *)*piVar43;\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n      piVar21 = (int *)puVar42[1];\n    }" ({ "{") (expression_statement "iVar24 = piVar43[4];" (assignment_expression "iVar24 = piVar43[4]" (identifier "iVar24") (= "=") (subscript_expression "piVar43[4]" (identifier "piVar43") ([ "[") (number_literal "4") (] "]"))) (; ";")) (if_statement "if (piVar43[4] == 0) {\n        iVar24 = iVar9 + -0x6800;\n      }" (if "if") (parenthesized_expression "(piVar43[4] == 0)" (( "(") (binary_expression "piVar43[4] == 0" (subscript_expression "piVar43[4]" (identifier "piVar43") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar24 = iVar9 + -0x6800;\n      }" ({ "{") (expression_statement "iVar24 = iVar9 + -0x6800;" (assignment_expression "iVar24 = iVar9 + -0x6800" (identifier "iVar24") (= "=") (binary_expression "iVar9 + -0x6800" (identifier "iVar9") (+ "+") (number_literal "-0x6800"))) (; ";")) (} "}"))) (expression_statement "iVar27 = iVar16 + 0x6720;" (assignment_expression "iVar27 = iVar16 + 0x6720" (identifier "iVar27") (= "=") (binary_expression "iVar16 + 0x6720" (identifier "iVar16") (+ "+") (number_literal "0x6720"))) (; ";")) (if_statement "if ((int *)*piVar43 == piVar21) {\n        iVar27 = iVar9 + -0x6800;\n      }" (if "if") (parenthesized_expression "((int *)*piVar43 == piVar21)" (( "(") (binary_expression "(int *)*piVar43 == piVar21" (cast_expression "(int *)*piVar43" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (== "==") (identifier "piVar21")) () ")")) (compound_statement "{\n        iVar27 = iVar9 + -0x6800;\n      }" ({ "{") (expression_statement "iVar27 = iVar9 + -0x6800;" (assignment_expression "iVar27 = iVar9 + -0x6800" (identifier "iVar27") (= "=") (binary_expression "iVar9 + -0x6800" (identifier "iVar9") (+ "+") (number_literal "-0x6800"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdabb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdabb0)" (( "(") (binary_expression "pcVar7 + 0xdabb0" (identifier "pcVar7") (+ "+") (number_literal "0xdabb0")) () ")"))))) () ")")) (argument_list "(1,iVar41 + 0x6298,iVar24,iVar27)" (( "(") (number_literal "1") (, ",") (binary_expression "iVar41 + 0x6298" (identifier "iVar41") (+ "+") (number_literal "0x6298")) (, ",") (identifier "iVar24") (, ",") (identifier "iVar27") () ")"))) (; ";")) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" (identifier "piVar43") (= "=") (cast_expression "(int *)*piVar43" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")))) (; ";")) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" (identifier "puVar42") (= "=") (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" (* "*") (cast_expression "(undefined4 **)(*piVar36 + iVar5)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "piVar21 = (int *)puVar42[1];" (assignment_expression "piVar21 = (int *)puVar42[1]" (identifier "piVar21") (= "=") (cast_expression "(int *)puVar42[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar42[1]" (identifier "puVar42") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar21 != piVar43)" (( "(") (binary_expression "piVar21 != piVar43" (identifier "piVar21") (!= "!=") (identifier "piVar43")) () ")")) (; ";")) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" (if "if") (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar22 == (undefined4 *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);\n      puVar42 = *(undefined4 **)(*piVar36 + iVar5);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdabb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdabb0)" (( "(") (binary_expression "pcVar7 + 0xdabb0" (identifier "pcVar7") (+ "+") (number_literal "0xdabb0")) () ")"))))) () ")")) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74)" (( "(") (number_literal "1") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7b74" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7b74")) () ")"))) (; ";")) (expression_statement "puVar42 = *(undefined4 **)(*piVar36 + iVar5);" (assignment_expression "puVar42 = *(undefined4 **)(*piVar36 + iVar5)" (identifier "puVar42") (= "=") (pointer_expression "*(undefined4 **)(*piVar36 + iVar5)" (* "*") (cast_expression "(undefined4 **)(*piVar36 + iVar5)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" (identifier "uVar30") (= "=") (pointer_expression "*puVar42" (* "*") (identifier "puVar42"))) (; ";")) (expression_statement "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);" (assignment_expression "iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" (identifier "iVar9") (= "=") (call_expression "(**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdae0c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdae0c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdae0c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdae0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdae0c)" (( "(") (binary_expression "pcVar7 + 0xdae0c" (identifier "pcVar7") (+ "+") (number_literal "0xdae0c")) () ")"))))) () ")")) (argument_list "(uStack_7f4,uVar30)" (( "(") (identifier "uStack_7f4") (, ",") (identifier "uVar30") () ")")))) (; ";")) (if_statement "if (iVar9 != 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" (if "if") (parenthesized_expression "(iVar9 != 0)" (( "(") (binary_expression "iVar9 != 0" (identifier "iVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);\n      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);\n    }" ({ "{") (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xd9234))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd9234))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd9234)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd9234)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd9234)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9234)" (( "(") (binary_expression "pcVar7 + 0xd9234" (identifier "pcVar7") (+ "+") (number_literal "0xd9234")) () ")"))))) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdabb0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdabb0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdabb0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdabb0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdabb0)" (( "(") (binary_expression "pcVar7 + 0xdabb0" (identifier "pcVar7") (+ "+") (number_literal "0xdabb0")) () ")"))))) () ")")) (argument_list "(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30)" (( "(") (number_literal "1") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd8e3c) + 0x7de0" (pointer_expression "*(int *)(pcVar7 + 0xd8e3c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e3c)" (( "(") (binary_expression "pcVar7 + 0xd8e3c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e3c")) () ")")))) (+ "+") (number_literal "0x7de0")) (, ",") (identifier "uVar30") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar7 + 0xdac04))(10);" (call_expression "(**(code **)(pcVar7 + 0xdac04))(10)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdac04))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdac04)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdac04)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdac04)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdac04)" (( "(") (binary_expression "pcVar7 + 0xdac04" (identifier "pcVar7") (+ "+") (number_literal "0xdac04")) () ")"))))) () ")")) (argument_list "(10)" (( "(") (number_literal "10") () ")"))) (; ";")) (if_statement "if (iVar20 == 1) {\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }\n    else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" (if "if") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;\n    }" ({ "{") (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" (if "if") (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar22 == (undefined4 *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;\n        goto LAB_0006b9c8;\n      }" ({ "{") (expression_statement "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;" (assignment_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =\n             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (* "*") (cast_expression "(uint *)(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*piVar36 + iVar5) + 0x10)" (( "(") (binary_expression "*(int *)(*piVar36 + iVar5) + 0x10" (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")")))) (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0xfffffffe"))) (; ";")) (goto_statement "goto LAB_0006b9c8;" (goto "goto") (statement_identifier "LAB_0006b9c8") (; ";")) (} "}"))) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" (identifier "get_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd9a18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd9a18)" (( "(") (binary_expression "pcVar7 + 0xd9a18" (identifier "pcVar7") (+ "+") (number_literal "0xd9a18")) () ")"))))) (; ";")) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" (identifier "puVar37") (= "=") (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x70d0)" (( "(") (binary_expression "iVar9 + -0x70d0" (identifier "iVar9") (+ "+") (number_literal "-0x70d0")) () ")")))) (; ";")) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (identifier "puVar32") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e2c)" (( "(") (binary_expression "pcVar7 + 0xd8e2c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e2c")) () ")")))) (+ "+") (number_literal "0x7ee8")) () ")")))) (; ";")) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" (identifier "puVar42") (= "=") (identifier "puVar37")) (; ";")) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" (identifier "puVar17") (= "=") (identifier "puVar32")) (; ";")) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" (do "do") (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" ({ "{") (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" (identifier "puVar14") (= "=") (binary_expression "puVar42 + 4" (identifier "puVar42") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" (identifier "puVar18") (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" (identifier "uVar25") (= "=") (subscript_expression "puVar42[1]" (identifier "puVar42") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" (identifier "uVar23") (= "=") (subscript_expression "puVar42[2]" (identifier "puVar42") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" (identifier "uVar30") (= "=") (subscript_expression "puVar42[3]" (identifier "puVar42") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (pointer_expression "*puVar42" (* "*") (identifier "puVar42"))) (; ";")) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" (identifier "puVar42") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" (identifier "puVar17") (= "=") (identifier "puVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" (( "(") (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" (identifier "puVar14") (!= "!=") (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x70a0)" (( "(") (binary_expression "iVar9 + -0x70a0" (identifier "iVar9") (+ "+") (number_literal "-0x70a0")) () ")")))) () ")")) (; ";")) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" (identifier "iVar9") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar9 + iVar5)" (* "*") (cast_expression "(int *)(iVar9 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar5)" (( "(") (binary_expression "iVar9 + iVar5" (identifier "iVar9") (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;" (if "if") (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) != 0)" (( "(") (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) != 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" (( "(") (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006bce0;" (goto "goto") (statement_identifier "LAB_0006bce0") (; ";"))) (} "}")) (else_clause "else {\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" (else "else") (compound_statement "{\n      iVar9 = *(int *)(*piVar36 + iVar5);\n      piVar21 = *(int **)(iVar9 + 4);\n      piVar43 = piVar21;\n      do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);\n      *(undefined4 *)(iVar9 + 0xc) = 1;\n      if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }\n      get_tty_state();\n      iVar9 = *(int *)(pcVar7 + 0xd9a18);\n      puVar37 = (undefined4 *)(iVar9 + -0x70d0);\n      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);\n      puVar42 = puVar37;\n      puVar17 = puVar32;\n      do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));\n      iVar9 = *piVar36;\n      *puVar18 = *puVar14;\n      iVar9 = *(int *)(iVar9 + iVar5);\n      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }\n      pcVar8 = *(code **)(pcVar7 + 0xdad38);\n      iVar5 = *(int *)(iVar20 + iVar5);\n      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;\n      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(*piVar36 + iVar5);" (assignment_expression "iVar9 = *(int *)(*piVar36 + iVar5)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(*piVar36 + iVar5)" (* "*") (cast_expression "(int *)(*piVar36 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar36 + iVar5)" (( "(") (binary_expression "*piVar36 + iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "piVar21 = *(int **)(iVar9 + 4);" (assignment_expression "piVar21 = *(int **)(iVar9 + 4)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(iVar9 + 4)" (* "*") (cast_expression "(int **)(iVar9 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar9 + 4)" (( "(") (binary_expression "iVar9 + 4" (identifier "iVar9") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "piVar43 = piVar21;" (assignment_expression "piVar43 = piVar21" (identifier "piVar43") (= "=") (identifier "piVar21")) (; ";")) (do_statement "do {\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      } while (piVar21 != piVar43);" (do "do") (compound_statement "{\n        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }\n        piVar43 = (int *)*piVar43;\n      }" ({ "{") (if_statement "if (*(char *)((int)piVar43 + 0xb) == '\x7f') {\n          piVar43[3] = 1;\n        }" (if "if") (parenthesized_expression "(*(char *)((int)piVar43 + 0xb) == '\x7f')" (( "(") (binary_expression "*(char *)((int)piVar43 + 0xb) == '\x7f'" (pointer_expression "*(char *)((int)piVar43 + 0xb)" (* "*") (cast_expression "(char *)((int)piVar43 + 0xb)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar43 + 0xb)" (( "(") (binary_expression "(int)piVar43 + 0xb" (cast_expression "(int)piVar43" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar43")) (+ "+") (number_literal "0xb")) () ")")))) (== "==") (char_literal "'\x7f'" (' "'") (escape_sequence "\x7f") (' "'"))) () ")")) (compound_statement "{\n          piVar43[3] = 1;\n        }" ({ "{") (expression_statement "piVar43[3] = 1;" (assignment_expression "piVar43[3] = 1" (subscript_expression "piVar43[3]" (identifier "piVar43") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "piVar43 = (int *)*piVar43;" (assignment_expression "piVar43 = (int *)*piVar43" (identifier "piVar43") (= "=") (cast_expression "(int *)*piVar43" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar21 != piVar43)" (( "(") (binary_expression "piVar21 != piVar43" (identifier "piVar21") (!= "!=") (identifier "piVar43")) () ")")) (; ";")) (expression_statement "*(undefined4 *)(iVar9 + 0xc) = 1;" (assignment_expression "*(undefined4 *)(iVar9 + 0xc) = 1" (pointer_expression "*(undefined4 *)(iVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (puVar22 == (undefined4 *)0x0) {\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" (if "if") (parenthesized_expression "(puVar22 == (undefined4 *)0x0)" (( "(") (binary_expression "puVar22 == (undefined4 *)0x0" (identifier "puVar22") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pcVar8 = *(code **)(pcVar7 + 0xdad38);\n        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;\n        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);\nLAB_0006b9c8:\n        FUN_00064490();\n        goto LAB_0006b9dc;\n      }" ({ "{") (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xdad38)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdad38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdad38)" (( "(") (binary_expression "pcVar7 + 0xdad38" (identifier "pcVar7") (+ "+") (number_literal "0xdad38")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;" (assignment_expression "*(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe | 2" (binary_expression "*(uint *)(iVar9 + 0x10) & 0xfffffffe" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "0xfffffffe")) (| "|") (number_literal "2"))) (; ";")) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(*(undefined4 *)(iVar9 + 8),0x19)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "0x19") () ")"))) (; ";")) (labeled_statement "LAB_0006b9c8:\n        FUN_00064490();" (statement_identifier "LAB_0006b9c8") (: ":") (expression_statement "FUN_00064490();" (call_expression "FUN_00064490()" (identifier "FUN_00064490") (argument_list "()" (( "(") () ")"))) (; ";"))) (goto_statement "goto LAB_0006b9dc;" (goto "goto") (statement_identifier "LAB_0006b9dc") (; ";")) (} "}"))) (expression_statement "get_tty_state();" (call_expression "get_tty_state()" (identifier "get_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar9 = *(int *)(pcVar7 + 0xd9a18);" (assignment_expression "iVar9 = *(int *)(pcVar7 + 0xd9a18)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd9a18)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd9a18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd9a18)" (( "(") (binary_expression "pcVar7 + 0xd9a18" (identifier "pcVar7") (+ "+") (number_literal "0xd9a18")) () ")"))))) (; ";")) (expression_statement "puVar37 = (undefined4 *)(iVar9 + -0x70d0);" (assignment_expression "puVar37 = (undefined4 *)(iVar9 + -0x70d0)" (identifier "puVar37") (= "=") (cast_expression "(undefined4 *)(iVar9 + -0x70d0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x70d0)" (( "(") (binary_expression "iVar9 + -0x70d0" (identifier "iVar9") (+ "+") (number_literal "-0x70d0")) () ")")))) (; ";")) (expression_statement "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);" (assignment_expression "puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (identifier "puVar32") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8" (pointer_expression "*(int *)(pcVar7 + 0xd8e2c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd8e2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd8e2c)" (( "(") (binary_expression "pcVar7 + 0xd8e2c" (identifier "pcVar7") (+ "+") (number_literal "0xd8e2c")) () ")")))) (+ "+") (number_literal "0x7ee8")) () ")")))) (; ";")) (expression_statement "puVar42 = puVar37;" (assignment_expression "puVar42 = puVar37" (identifier "puVar42") (= "=") (identifier "puVar37")) (; ";")) (expression_statement "puVar17 = puVar32;" (assignment_expression "puVar17 = puVar32" (identifier "puVar17") (= "=") (identifier "puVar32")) (; ";")) (do_statement "do {\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));" (do "do") (compound_statement "{\n        puVar14 = puVar42 + 4;\n        puVar18 = puVar17 + 4;\n        uVar25 = puVar42[1];\n        uVar23 = puVar42[2];\n        uVar30 = puVar42[3];\n        *puVar17 = *puVar42;\n        puVar17[1] = uVar25;\n        puVar17[2] = uVar23;\n        puVar17[3] = uVar30;\n        puVar42 = puVar14;\n        puVar17 = puVar18;\n      }" ({ "{") (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" (identifier "puVar14") (= "=") (binary_expression "puVar42 + 4" (identifier "puVar42") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar18 = puVar17 + 4;" (assignment_expression "puVar18 = puVar17 + 4" (identifier "puVar18") (= "=") (binary_expression "puVar17 + 4" (identifier "puVar17") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" (identifier "uVar25") (= "=") (subscript_expression "puVar42[1]" (identifier "puVar42") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" (identifier "uVar23") (= "=") (subscript_expression "puVar42[2]" (identifier "puVar42") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" (identifier "uVar30") (= "=") (subscript_expression "puVar42[3]" (identifier "puVar42") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar17 = *puVar42;" (assignment_expression "*puVar17 = *puVar42" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (pointer_expression "*puVar42" (* "*") (identifier "puVar42"))) (; ";")) (expression_statement "puVar17[1] = uVar25;" (assignment_expression "puVar17[1] = uVar25" (subscript_expression "puVar17[1]" (identifier "puVar17") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "puVar17[2] = uVar23;" (assignment_expression "puVar17[2] = uVar23" (subscript_expression "puVar17[2]" (identifier "puVar17") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar17[3] = uVar30;" (assignment_expression "puVar17[3] = uVar30" (subscript_expression "puVar17[3]" (identifier "puVar17") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" (identifier "puVar42") (= "=") (identifier "puVar14")) (; ";")) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" (identifier "puVar17") (= "=") (identifier "puVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != (undefined4 *)(iVar9 + -0x70a0))" (( "(") (binary_expression "puVar14 != (undefined4 *)(iVar9 + -0x70a0)" (identifier "puVar14") (!= "!=") (cast_expression "(undefined4 *)(iVar9 + -0x70a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + -0x70a0)" (( "(") (binary_expression "iVar9 + -0x70a0" (identifier "iVar9") (+ "+") (number_literal "-0x70a0")) () ")")))) () ")")) (; ";")) (expression_statement "iVar9 = *piVar36;" (assignment_expression "iVar9 = *piVar36" (identifier "iVar9") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (expression_statement "*puVar18 = *puVar14;" (assignment_expression "*puVar18 = *puVar14" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "iVar9 = *(int *)(iVar9 + iVar5);" (assignment_expression "iVar9 = *(int *)(iVar9 + iVar5)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar9 + iVar5)" (* "*") (cast_expression "(int *)(iVar9 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + iVar5)" (( "(") (binary_expression "iVar9 + iVar5" (identifier "iVar9") (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (if_statement "if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {\n        iVar20 = *piVar36;\n      }\n      else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" (if "if") (parenthesized_expression "((*(uint *)(iVar9 + 0x10) & 4) == 0)" (( "(") (binary_expression "(*(uint *)(iVar9 + 0x10) & 4) == 0" (parenthesized_expression "(*(uint *)(iVar9 + 0x10) & 4)" (( "(") (binary_expression "*(uint *)(iVar9 + 0x10) & 4" (pointer_expression "*(uint *)(iVar9 + 0x10)" (* "*") (cast_expression "(uint *)(iVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x10)" (( "(") (binary_expression "iVar9 + 0x10" (identifier "iVar9") (+ "+") (number_literal "0x10")) () ")")))) (& "&") (number_literal "4")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        iVar20 = *piVar36;\n      }" ({ "{") (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" (identifier "iVar20") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (} "}")) (else_clause "else {\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" (else "else") (compound_statement "{\nLAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);\n        if (iVar20 == 1) goto LAB_0006bbc8;\n        iVar20 = *piVar36;\n      }" ({ "{") (labeled_statement "LAB_0006bce0:\n        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" (statement_identifier "LAB_0006bce0") (: ":") (expression_statement "give_terminal_to(*(undefined4 *)(iVar9 + 8),0);" (call_expression "give_terminal_to(*(undefined4 *)(iVar9 + 8),0)" (identifier "give_terminal_to") (argument_list "(*(undefined4 *)(iVar9 + 8),0)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 8)" (( "(") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "0") () ")"))) (; ";"))) (if_statement "if (iVar20 == 1) goto LAB_0006bbc8;" (if "if") (parenthesized_expression "(iVar20 == 1)" (( "(") (binary_expression "iVar20 == 1" (identifier "iVar20") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0006bbc8;" (goto "goto") (statement_identifier "LAB_0006bbc8") (; ";"))) (expression_statement "iVar20 = *piVar36;" (assignment_expression "iVar20 = *piVar36" (identifier "iVar20") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (} "}")))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xdad38);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xdad38)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xdad38)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdad38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdad38)" (( "(") (binary_expression "pcVar7 + 0xdad38" (identifier "pcVar7") (+ "+") (number_literal "0xdad38")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar20 + iVar5);" (assignment_expression "iVar5 = *(int *)(iVar20 + iVar5)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar20 + iVar5)" (* "*") (cast_expression "(int *)(iVar20 + iVar5)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + iVar5)" (( "(") (binary_expression "iVar20 + iVar5" (identifier "iVar20") (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;" (assignment_expression "*(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(uint *)(iVar5 + 0x10) | 2" (pointer_expression "*(uint *)(iVar5 + 0x10)" (* "*") (cast_expression "(uint *)(iVar5 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x10)" (( "(") (binary_expression "iVar5 + 0x10" (identifier "iVar5") (+ "+") (number_literal "0x10")) () ")")))) (| "|") (number_literal "2"))) (; ";")) (expression_statement "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);" (call_expression "(*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(*(undefined4 *)(iVar5 + 8),0x19)" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 8)" (( "(") (binary_expression "iVar5 + 8" (identifier "iVar5") (+ "+") (number_literal "8")) () ")")))) (, ",") (number_literal "0x19") () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_0006bbc8:\n    iVar5 = FUN_00065a6c(piVar44);" (statement_identifier "LAB_0006bbc8") (: ":") (expression_statement "iVar5 = FUN_00065a6c(piVar44);" (assignment_expression "iVar5 = FUN_00065a6c(piVar44)" (identifier "iVar5") (= "=") (call_expression "FUN_00065a6c(piVar44)" (identifier "FUN_00065a6c") (argument_list "(piVar44)" (( "(") (identifier "piVar44") () ")")))) (; ";"))) (expression_statement "uVar30 = *(undefined4 *)(iVar5 + 4);" (assignment_expression "uVar30 = *(undefined4 *)(iVar5 + 4)" (identifier "uVar30") (= "=") (pointer_expression "*(undefined4 *)(iVar5 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar5 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 4)" (( "(") (binary_expression "iVar5 + 4" (identifier "iVar5") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);" (call_expression "(**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0)" (parenthesized_expression "(**(code **)(pcVar7 + 0xdadd8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xdadd8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xdadd8)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdadd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdadd8)" (( "(") (binary_expression "pcVar7 + 0xdadd8" (identifier "pcVar7") (+ "+") (number_literal "0xdadd8")) () ")"))))) () ")")) (argument_list "(3,auStack_76c,0)" (( "(") (number_literal "3") (, ",") (identifier "auStack_76c") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined1 *)wait_for(uVar30);" (assignment_expression "puVar12 = (undefined1 *)wait_for(uVar30)" (identifier "puVar12") (= "=") (cast_expression "(undefined1 *)wait_for(uVar30)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "wait_for(uVar30)" (identifier "wait_for") (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")"))))) (; ";")) (expression_statement "puVar42 = puVar32;" (assignment_expression "puVar42 = puVar32" (identifier "puVar42") (= "=") (identifier "puVar32")) (; ";")) (do_statement "do {\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    } while (puVar14 != puVar32 + 0xc);" (do "do") (compound_statement "{\n      puVar14 = puVar42 + 4;\n      puVar17 = puVar37 + 4;\n      uVar25 = puVar42[1];\n      uVar23 = puVar42[2];\n      uVar30 = puVar42[3];\n      *puVar37 = *puVar42;\n      puVar37[1] = uVar25;\n      puVar37[2] = uVar23;\n      puVar37[3] = uVar30;\n      puVar37 = puVar17;\n      puVar42 = puVar14;\n    }" ({ "{") (expression_statement "puVar14 = puVar42 + 4;" (assignment_expression "puVar14 = puVar42 + 4" (identifier "puVar14") (= "=") (binary_expression "puVar42 + 4" (identifier "puVar42") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "puVar17 = puVar37 + 4;" (assignment_expression "puVar17 = puVar37 + 4" (identifier "puVar17") (= "=") (binary_expression "puVar37 + 4" (identifier "puVar37") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "uVar25 = puVar42[1];" (assignment_expression "uVar25 = puVar42[1]" (identifier "uVar25") (= "=") (subscript_expression "puVar42[1]" (identifier "puVar42") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar23 = puVar42[2];" (assignment_expression "uVar23 = puVar42[2]" (identifier "uVar23") (= "=") (subscript_expression "puVar42[2]" (identifier "puVar42") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar30 = puVar42[3];" (assignment_expression "uVar30 = puVar42[3]" (identifier "uVar30") (= "=") (subscript_expression "puVar42[3]" (identifier "puVar42") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar37 = *puVar42;" (assignment_expression "*puVar37 = *puVar42" (pointer_expression "*puVar37" (* "*") (identifier "puVar37")) (= "=") (pointer_expression "*puVar42" (* "*") (identifier "puVar42"))) (; ";")) (expression_statement "puVar37[1] = uVar25;" (assignment_expression "puVar37[1] = uVar25" (subscript_expression "puVar37[1]" (identifier "puVar37") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar25")) (; ";")) (expression_statement "puVar37[2] = uVar23;" (assignment_expression "puVar37[2] = uVar23" (subscript_expression "puVar37[2]" (identifier "puVar37") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar23")) (; ";")) (expression_statement "puVar37[3] = uVar30;" (assignment_expression "puVar37[3] = uVar30" (subscript_expression "puVar37[3]" (identifier "puVar37") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "puVar37 = puVar17;" (assignment_expression "puVar37 = puVar17" (identifier "puVar37") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "puVar42 = puVar14;" (assignment_expression "puVar42 = puVar14" (identifier "puVar42") (= "=") (identifier "puVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar14 != puVar32 + 0xc)" (( "(") (binary_expression "puVar14 != puVar32 + 0xc" (identifier "puVar14") (!= "!=") (binary_expression "puVar32 + 0xc" (identifier "puVar32") (+ "+") (number_literal "0xc"))) () ")")) (; ";")) (expression_statement "*puVar17 = *puVar14;" (assignment_expression "*puVar17 = *puVar14" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "set_tty_state();" (call_expression "set_tty_state()" (identifier "set_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))))) (if_statement "if (iStack_6ec == *piVar26) {\n    return puVar12;\n  }" (if "if") (parenthesized_expression "(iStack_6ec == *piVar26)" (( "(") (binary_expression "iStack_6ec == *piVar26" (identifier "iStack_6ec") (== "==") (pointer_expression "*piVar26" (* "*") (identifier "piVar26"))) () ")")) (compound_statement "{\n    return puVar12;\n  }" ({ "{") (return_statement "return puVar12;" (return "return") (identifier "puVar12") (; ";")) (} "}"))) (expression_statement "pcVar7 = *(code **)(pcVar7 + 0xdad4c);" (assignment_expression "pcVar7 = *(code **)(pcVar7 + 0xdad4c)" (identifier "pcVar7") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xdad4c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xdad4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xdad4c)" (( "(") (binary_expression "pcVar7 + 0xdad4c" (identifier "pcVar7") (+ "+") (number_literal "0xdad4c")) () ")"))))) (; ";")) (expression_statement "iVar5 = iStack_6ec;" (assignment_expression "iVar5 = iStack_6ec" (identifier "iVar5") (= "=") (identifier "iStack_6ec")) (; ";")) (expression_statement "(*pcVar7)();" (call_expression "(*pcVar7)()" (parenthesized_expression "(*pcVar7)" (( "(") (pointer_expression "*pcVar7" (* "*") (identifier "pcVar7")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd8b10);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd8b10)" (identifier "piVar43") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8b10)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8b10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8b10)" (( "(") (binary_expression "pcVar7 + 0xd8b10" (identifier "pcVar7") (+ "+") (number_literal "0xd8b10")) () ")"))))) (; ";")) (expression_statement "iVar20 = (**(code **)(pcVar7 + 0xda6dc))();" (assignment_expression "iVar20 = (**(code **)(pcVar7 + 0xda6dc))()" (identifier "iVar20") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6dc))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6dc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6dc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6dc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6dc)" (( "(") (binary_expression "pcVar7 + 0xda6dc" (identifier "pcVar7") (+ "+") (number_literal "0xda6dc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*piVar43 = iVar20;" (assignment_expression "*piVar43 = iVar20" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (identifier "iVar20")) (; ";")) (if_statement "if (iVar20 == -1) {\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }\n  else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" (if "if") (parenthesized_expression "(iVar20 == -1)" (( "(") (binary_expression "iVar20 == -1" (identifier "iVar20") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);\n    sys_error(uVar30);\n    (**(code **)(pcVar7 + 0xda620))(1);\nLAB_0006c3c8:\n    uVar30 = *puVar22;\nLAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);\n    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);\n    *piVar36 = iVar5;\n    if (iVar5 != -1) goto LAB_0006bf80;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 == 0) goto LAB_0006bf08;\nLAB_0006be5c:\n    iVar5 = *piVar36;\n  }" ({ "{") (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7dec" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")")))) (+ "+") (number_literal "0x7dec")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" (identifier "sys_error") (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xda620))(1);" (call_expression "(**(code **)(pcVar7 + 0xda620))(1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda620))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda620)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda620)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda620)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda620)" (( "(") (binary_expression "pcVar7 + 0xda620" (identifier "pcVar7") (+ "+") (number_literal "0xda620")) () ")"))))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (labeled_statement "LAB_0006c3c8:\n    uVar30 = *puVar22;" (statement_identifier "LAB_0006c3c8") (: ":") (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" (identifier "uVar30") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";"))) (labeled_statement "LAB_0006be24:\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" (statement_identifier "LAB_0006be24") (: ":") (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda58c))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda58c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda58c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda58c)" (( "(") (binary_expression "pcVar7 + 0xda58c" (identifier "pcVar7") (+ "+") (number_literal "0xda58c")) () ")"))))) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";"))) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda780))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda780))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda780)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda780)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda780)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda780)" (( "(") (binary_expression "pcVar7 + 0xda780" (identifier "pcVar7") (+ "+") (number_literal "0xda780")) () ")"))))) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";")) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 != -1) goto LAB_0006bf80;" (if "if") (parenthesized_expression "(iVar5 != -1)" (( "(") (binary_expression "iVar5 != -1" (identifier "iVar5") (!= "!=") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006bf80;" (goto "goto") (statement_identifier "LAB_0006bf80") (; ";"))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda670)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda670)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda670)" (( "(") (binary_expression "pcVar7 + 0xda670" (identifier "pcVar7") (+ "+") (number_literal "0xda670")) () ")"))))) (; ";")) (if_statement "if (*piVar43 == 0) goto LAB_0006bf08;" (if "if") (parenthesized_expression "(*piVar43 == 0)" (( "(") (binary_expression "*piVar43 == 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006bf08;" (goto "goto") (statement_identifier "LAB_0006bf08") (; ";"))) (labeled_statement "LAB_0006be5c:\n    iVar5 = *piVar36;" (statement_identifier "LAB_0006be5c") (: ":") (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" (identifier "iVar5") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";"))) (} "}")) (else_clause "else {\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" (else "else") (compound_statement "{\n    piVar44 = *(int **)(pcVar7 + 0xd87f4);\n    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);\n    uVar30 = *puVar22;\n    if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }\n    piVar36 = *(int **)(pcVar7 + 0xd93fc);\n    iVar5 = **(int **)(pcVar7 + 0xd87e4);\n    *piVar36 = -1;\n    if (iVar5 == 0) goto LAB_0006be24;\n    uVar30 = (**(code **)(pcVar7 + 0xda58c))();\n    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);\n    if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }\n    if (iVar5 == -1) goto LAB_0006c3c8;\nLAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);\n    *piVar36 = iVar5;\n    pcVar8 = *(code **)(pcVar7 + 0xda670);\n    if (*piVar43 != 0) goto LAB_0006be5c;\nLAB_0006bf08:\n    iVar5 = (*pcVar8)();\n    pcVar8 = *(code **)(pcVar7 + 0xda4fc);\n    *piVar43 = iVar5;\n    (*pcVar8)(0,iVar5);\n    iVar5 = *piVar36;\n    if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }\n  }" ({ "{") (expression_statement "piVar44 = *(int **)(pcVar7 + 0xd87f4);" (assignment_expression "piVar44 = *(int **)(pcVar7 + 0xd87f4)" (identifier "piVar44") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd87f4)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd87f4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd87f4)" (( "(") (binary_expression "pcVar7 + 0xd87f4" (identifier "pcVar7") (+ "+") (number_literal "0xd87f4")) () ")"))))) (; ";")) (expression_statement "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);" (assignment_expression "puVar22 = *(undefined4 **)(pcVar7 + 0xda77c)" (identifier "puVar22") (= "=") (pointer_expression "*(undefined4 **)(pcVar7 + 0xda77c)" (* "*") (cast_expression "(undefined4 **)(pcVar7 + 0xda77c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda77c)" (( "(") (binary_expression "pcVar7 + 0xda77c" (identifier "pcVar7") (+ "+") (number_literal "0xda77c")) () ")"))))) (; ";")) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" (identifier "uVar30") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (if_statement "if (iVar5 == 0 && *piVar44 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" (if "if") (parenthesized_expression "(iVar5 == 0 && *piVar44 == 0)" (( "(") (binary_expression "iVar5 == 0 && *piVar44 == 0" (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) (&& "&&") (binary_expression "*piVar44 == 0" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);\n      pcVar8 = *(code **)(pcVar7 + 0xda58c);\n      piVar36 = *(int **)(pcVar7 + 0xd93fc);\n      *piVar21 = 0;\n      *puVar42 = 0xffffffff;\n      iVar5 = (*pcVar8)(uVar30);\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      *piVar36 = iVar5;\n      iVar5 = (*pcVar8)(iVar5);\n      iVar20 = *piVar43;\n      **(int **)(pcVar7 + 0xd9434) = iVar5;\n      goto LAB_0006bff4;\n    }" ({ "{") (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8b0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8b0c)" (( "(") (binary_expression "pcVar7 + 0xd8b0c" (identifier "pcVar7") (+ "+") (number_literal "0xd8b0c")) () ")"))))) (; ";")) (expression_statement "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);" (assignment_expression "puVar42 = *(undefined4 **)(pcVar7 + 0xd9070)" (identifier "puVar42") (= "=") (pointer_expression "*(undefined4 **)(pcVar7 + 0xd9070)" (* "*") (cast_expression "(undefined4 **)(pcVar7 + 0xd9070)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9070)" (( "(") (binary_expression "pcVar7 + 0xd9070" (identifier "pcVar7") (+ "+") (number_literal "0xd9070")) () ")"))))) (; ";")) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda58c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda58c)" (( "(") (binary_expression "pcVar7 + 0xda58c" (identifier "pcVar7") (+ "+") (number_literal "0xda58c")) () ")"))))) (; ";")) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" (identifier "piVar36") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd93fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd93fc)" (( "(") (binary_expression "pcVar7 + 0xd93fc" (identifier "pcVar7") (+ "+") (number_literal "0xd93fc")) () ")"))))) (; ";")) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar42 = 0xffffffff;" (assignment_expression "*puVar42 = 0xffffffff" (pointer_expression "*puVar42" (* "*") (identifier "puVar42")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" (identifier "iVar5") (= "=") (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";")) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda598)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda598)" (( "(") (binary_expression "pcVar7 + 0xda598" (identifier "pcVar7") (+ "+") (number_literal "0xda598")) () ")"))))) (; ";")) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "iVar5 = (*pcVar8)(iVar5);" (assignment_expression "iVar5 = (*pcVar8)(iVar5)" (identifier "iVar5") (= "=") (call_expression "(*pcVar8)(iVar5)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" (identifier "iVar20") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (expression_statement "**(int **)(pcVar7 + 0xd9434) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9434) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9434)" (* "*") (pointer_expression "*(int **)(pcVar7 + 0xd9434)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9434)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9434)" (( "(") (binary_expression "pcVar7 + 0xd9434" (identifier "pcVar7") (+ "+") (number_literal "0xd9434")) () ")"))))) (= "=") (identifier "iVar5")) (; ";")) (goto_statement "goto LAB_0006bff4;" (goto "goto") (statement_identifier "LAB_0006bff4") (; ";")) (} "}"))) (expression_statement "piVar36 = *(int **)(pcVar7 + 0xd93fc);" (assignment_expression "piVar36 = *(int **)(pcVar7 + 0xd93fc)" (identifier "piVar36") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd93fc)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd93fc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd93fc)" (( "(") (binary_expression "pcVar7 + 0xd93fc" (identifier "pcVar7") (+ "+") (number_literal "0xd93fc")) () ")"))))) (; ";")) (expression_statement "iVar5 = **(int **)(pcVar7 + 0xd87e4);" (assignment_expression "iVar5 = **(int **)(pcVar7 + 0xd87e4)" (identifier "iVar5") (= "=") (pointer_expression "**(int **)(pcVar7 + 0xd87e4)" (* "*") (pointer_expression "*(int **)(pcVar7 + 0xd87e4)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd87e4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd87e4)" (( "(") (binary_expression "pcVar7 + 0xd87e4" (identifier "pcVar7") (+ "+") (number_literal "0xd87e4")) () ")")))))) (; ";")) (expression_statement "*piVar36 = -1;" (assignment_expression "*piVar36 = -1" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (= "=") (number_literal "-1")) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_0006be24;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006be24;" (goto "goto") (statement_identifier "LAB_0006be24") (; ";"))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda58c))();" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda58c))()" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda58c))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda58c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda58c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda58c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda58c)" (( "(") (binary_expression "pcVar7 + 0xda58c" (identifier "pcVar7") (+ "+") (number_literal "0xda58c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda4b0))(uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4b0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda4b0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda4b0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda4b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda4b0)" (( "(") (binary_expression "pcVar7 + 0xda4b0" (identifier "pcVar7") (+ "+") (number_literal "0xda4b0")) () ")"))))) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }\n    else {\n      iVar5 = *piVar36;\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);\n      *piVar36 = iVar5;\n    }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5dc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda5dc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda5dc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda5dc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda5dc)" (( "(") (binary_expression "pcVar7 + 0xda5dc" (identifier "pcVar7") (+ "+") (number_literal "0xda5dc")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82)" (( "(") (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x62c0" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")")))) (+ "+") (number_literal "0x62c0")) (, ",") (number_literal "0x82") () ")")))) (; ";")) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (= "=") (identifier "iVar5")) (; ";")) (} "}")) (else_clause "else {\n      iVar5 = *piVar36;\n    }" (else "else") (compound_statement "{\n      iVar5 = *piVar36;\n    }" ({ "{") (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" (identifier "iVar5") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (} "}")))) (if_statement "if (iVar5 == -1) goto LAB_0006c3c8;" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_0006c3c8;" (goto "goto") (statement_identifier "LAB_0006c3c8") (; ";"))) (labeled_statement "LAB_0006bf80:\n    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" (statement_identifier "LAB_0006bf80") (: ":") (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a0c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd8a0c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd8a0c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8a0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8a0c)" (( "(") (binary_expression "pcVar7 + 0xd8a0c" (identifier "pcVar7") (+ "+") (number_literal "0xd8a0c")) () ")"))))) () ")")) (argument_list "(iVar5,1,0xffffffff)" (( "(") (identifier "iVar5") (, ",") (number_literal "1") (, ",") (number_literal "0xffffffff") () ")")))) (; ";"))) (expression_statement "*piVar36 = iVar5;" (assignment_expression "*piVar36 = iVar5" (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda670)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda670)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda670)" (( "(") (binary_expression "pcVar7 + 0xda670" (identifier "pcVar7") (+ "+") (number_literal "0xda670")) () ")"))))) (; ";")) (if_statement "if (*piVar43 != 0) goto LAB_0006be5c;" (if "if") (parenthesized_expression "(*piVar43 != 0)" (( "(") (binary_expression "*piVar43 != 0" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006be5c;" (goto "goto") (statement_identifier "LAB_0006be5c") (; ";"))) (labeled_statement "LAB_0006bf08:\n    iVar5 = (*pcVar8)();" (statement_identifier "LAB_0006bf08") (: ":") (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" (identifier "iVar5") (= "=") (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda4fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda4fc)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda4fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda4fc)" (( "(") (binary_expression "pcVar7 + 0xda4fc" (identifier "pcVar7") (+ "+") (number_literal "0xda4fc")) () ")"))))) (; ";")) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "(*pcVar8)(0,iVar5);" (call_expression "(*pcVar8)(0,iVar5)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(0,iVar5)" (( "(") (number_literal "0") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" (identifier "iVar5") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (if_statement "if (iVar5 != -1) {\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" (if "if") (parenthesized_expression "(iVar5 != -1)" (( "(") (binary_expression "iVar5 != -1" (identifier "iVar5") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);\n      goto LAB_0006be5c;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);" (call_expression "(**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda73c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda73c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda73c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda73c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda73c)" (( "(") (binary_expression "pcVar7 + 0xda73c" (identifier "pcVar7") (+ "+") (number_literal "0xda73c")) () ")"))))) () ")")) (argument_list "(iVar5,*piVar43)" (( "(") (identifier "iVar5") (, ",") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) () ")"))) (; ";")) (goto_statement "goto LAB_0006be5c;" (goto "goto") (statement_identifier "LAB_0006be5c") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar20 = 0x12;" (assignment_expression "iVar20 = 0x12" (identifier "iVar20") (= "=") (number_literal "0x12")) (; ";")) (expression_statement "piVar45 = *(int **)(pcVar7 + 0xd9434);" (assignment_expression "piVar45 = *(int **)(pcVar7 + 0xd9434)" (identifier "piVar45") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd9434)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9434)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9434)" (( "(") (binary_expression "pcVar7 + 0xd9434" (identifier "pcVar7") (+ "+") (number_literal "0xd9434")) () ")"))))) (; ";")) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8a98);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8a98)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8a98)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8a98)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8a98)" (( "(") (binary_expression "pcVar7 + 0xd8a98" (identifier "pcVar7") (+ "+") (number_literal "0xd8a98")) () ")"))))) (; ";")) (while_statement "while( true ) {\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);\n    *piVar45 = iVar5;\n    if (iVar5 == -1) break;\n    if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }\n    pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }\n    iVar20 = iVar20 + -1;\n    uVar30 = (*pcVar8)(0x1a,0);\n    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);\n    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);\n    if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }\n    iVar5 = *piVar36;\n  }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda598))(iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda598))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda598)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda598)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda598)" (( "(") (binary_expression "pcVar7 + 0xda598" (identifier "pcVar7") (+ "+") (number_literal "0xda598")) () ")"))))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")")))) (; ";")) (expression_statement "*piVar45 = iVar5;" (assignment_expression "*piVar45 = iVar5" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 == -1) break;" (if "if") (parenthesized_expression "(iVar5 == -1)" (( "(") (binary_expression "iVar5 == -1" (identifier "iVar5") (== "==") (number_literal "-1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (*piVar43 == iVar5) {\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" (if "if") (parenthesized_expression "(*piVar43 == iVar5)" (( "(") (binary_expression "*piVar43 == iVar5" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (== "==") (identifier "iVar5")) () ")")) (compound_statement "{\n      iVar9 = -1;\n      goto LAB_0006c118;\n    }" ({ "{") (expression_statement "iVar9 = -1;" (assignment_expression "iVar9 = -1" (identifier "iVar9") (= "=") (number_literal "-1")) (; ";")) (goto_statement "goto LAB_0006c118;" (goto "goto") (statement_identifier "LAB_0006c118") (; ";")) (} "}"))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8aac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8aac)" (( "(") (binary_expression "pcVar7 + 0xd8aac" (identifier "pcVar7") (+ "+") (number_literal "0xd8aac")) () ")"))))) (; ";")) (if_statement "if (*piVar21 != 0) {\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);\n      pcVar8 = *(code **)(pcVar7 + 0xd8aac);\n    }" ({ "{") (expression_statement "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21);" (call_expression "(**(code **)(pcVar7 + 0xd8a9c))(*piVar21)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8a9c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd8a9c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd8a9c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8a9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8a9c)" (( "(") (binary_expression "pcVar7 + 0xd8a9c" (identifier "pcVar7") (+ "+") (number_literal "0xd8a9c")) () ")"))))) () ")")) (argument_list "(*piVar21)" (( "(") (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) () ")"))) (; ";")) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xd8aac);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xd8aac)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8aac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8aac)" (( "(") (binary_expression "pcVar7 + 0xd8aac" (identifier "pcVar7") (+ "+") (number_literal "0xd8aac")) () ")"))))) (; ";")) (} "}"))) (expression_statement "iVar20 = iVar20 + -1;" (assignment_expression "iVar20 = iVar20 + -1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + -1" (identifier "iVar20") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "uVar30 = (*pcVar8)(0x1a,0);" (assignment_expression "uVar30 = (*pcVar8)(0x1a,0)" (identifier "uVar30") (= "=") (call_expression "(*pcVar8)(0x1a,0)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(0x1a,0)" (( "(") (number_literal "0x1a") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xda61c))(0,0x1a);" (call_expression "(**(code **)(pcVar7 + 0xda61c))(0,0x1a)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda61c))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda61c)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda61c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda61c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda61c)" (( "(") (binary_expression "pcVar7 + 0xda61c" (identifier "pcVar7") (+ "+") (number_literal "0xda61c")) () ")"))))) () ")")) (argument_list "(0,0x1a)" (( "(") (number_literal "0") (, ",") (number_literal "0x1a") () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8aac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8aac)" (( "(") (binary_expression "pcVar7 + 0xd8aac" (identifier "pcVar7") (+ "+") (number_literal "0xd8aac")) () ")"))))) () ")")) (argument_list "(0x1a,uVar30)" (( "(") (number_literal "0x1a") (, ",") (identifier "uVar30") () ")"))) (; ";")) (if_statement "if (iVar20 == 0) {\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" (if "if") (parenthesized_expression "(iVar20 == 0)" (( "(") (binary_expression "iVar20 == 0" (identifier "iVar20") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);\n      sys_error(uVar30);\n      iVar5 = *piVar45;\n      iVar20 = *piVar43;\n      *piVar21 = 0;\n      **(int **)(pcVar7 + 0xd9070) = iVar5;\n      goto LAB_0006bff4;\n    }" ({ "{") (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8b0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8b0c)" (( "(") (binary_expression "pcVar7 + 0xd8b0c" (identifier "pcVar7") (+ "+") (number_literal "0xd8b0c")) () ")"))))) (; ";")) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e14" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")")))) (+ "+") (number_literal "0x7e14")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" (identifier "sys_error") (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")"))) (; ";")) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" (identifier "iVar5") (= "=") (pointer_expression "*piVar45" (* "*") (identifier "piVar45"))) (; ";")) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" (identifier "iVar20") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "0")) (; ";")) (expression_statement "**(int **)(pcVar7 + 0xd9070) = iVar5;" (assignment_expression "**(int **)(pcVar7 + 0xd9070) = iVar5" (pointer_expression "**(int **)(pcVar7 + 0xd9070)" (* "*") (pointer_expression "*(int **)(pcVar7 + 0xd9070)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9070)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9070)" (( "(") (binary_expression "pcVar7 + 0xd9070" (identifier "pcVar7") (+ "+") (number_literal "0xd9070")) () ")"))))) (= "=") (identifier "iVar5")) (; ";")) (goto_statement "goto LAB_0006bff4;" (goto "goto") (statement_identifier "LAB_0006bff4") (; ";")) (} "}"))) (expression_statement "iVar5 = *piVar36;" (assignment_expression "iVar5 = *piVar36" (identifier "iVar5") (= "=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) (; ";")) (} "}"))) (expression_statement "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" (identifier "piVar21") (= "=") (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda5a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda5a0)" (( "(") (binary_expression "pcVar7 + 0xda5a0" (identifier "pcVar7") (+ "+") (number_literal "0xda5a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar9 = *piVar21;" (assignment_expression "iVar9 = *piVar21" (identifier "iVar9") (= "=") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (expression_statement "iVar5 = *piVar43;" (assignment_expression "iVar5 = *piVar43" (identifier "iVar5") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (labeled_statement "LAB_0006c118:\n  piVar29 = *(int **)(pcVar7 + 0xd9070);" (statement_identifier "LAB_0006c118") (: ":") (expression_statement "piVar29 = *(int **)(pcVar7 + 0xd9070);" (assignment_expression "piVar29 = *(int **)(pcVar7 + 0xd9070)" (identifier "piVar29") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd9070)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd9070)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd9070)" (( "(") (binary_expression "pcVar7 + 0xd9070" (identifier "pcVar7") (+ "+") (number_literal "0xd9070")) () ")"))))) (; ";"))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda670);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda670)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda670)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda670)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda670)" (( "(") (binary_expression "pcVar7 + 0xda670" (identifier "pcVar7") (+ "+") (number_literal "0xda670")) () ")"))))) (; ";")) (expression_statement "*piVar29 = iVar5;" (assignment_expression "*piVar29 = iVar5" (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "iVar5 = (*pcVar8)();" (assignment_expression "iVar5 = (*pcVar8)()" (identifier "iVar5") (= "=") (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar20 = *piVar29;" (assignment_expression "iVar20 = *piVar29" (identifier "iVar20") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (iVar5 == iVar20) {\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }\n  else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" (if "if") (parenthesized_expression "(iVar5 == iVar20)" (( "(") (binary_expression "iVar5 == iVar20" (identifier "iVar5") (== "==") (identifier "iVar20")) () ")")) (compound_statement "{\nLAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    *piVar21 = 1;\nLAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\nLAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);\n    if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n    if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }\n  }" ({ "{") (labeled_statement "LAB_0006c138:\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (statement_identifier "LAB_0006c138") (: ":") (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8b0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8b0c)" (( "(") (binary_expression "pcVar7 + 0xd8b0c" (identifier "pcVar7") (+ "+") (number_literal "0xd8b0c")) () ")"))))) (; ";"))) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0006c144:\n    pcVar8 = *(code **)(pcVar7 + 0xda598);" (statement_identifier "LAB_0006c144") (: ":") (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda598)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda598)" (( "(") (binary_expression "pcVar7 + 0xda598" (identifier "pcVar7") (+ "+") (number_literal "0xda598")) () ")"))))) (; ";"))) (labeled_statement "LAB_0006c148:\n    iVar20 = (*pcVar8)(*piVar36);" (statement_identifier "LAB_0006c148") (: ":") (expression_statement "iVar20 = (*pcVar8)(*piVar36);" (assignment_expression "iVar20 = (*pcVar8)(*piVar36)" (identifier "iVar20") (= "=") (call_expression "(*pcVar8)(*piVar36)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(*piVar36)" (( "(") (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) () ")")))) (; ";"))) (if_statement "if ((iVar20 == -1) || (*piVar43 != iVar20)) {\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" (if "if") (parenthesized_expression "((iVar20 == -1) || (*piVar43 != iVar20))" (( "(") (binary_expression "(iVar20 == -1) || (*piVar43 != iVar20)" (parenthesized_expression "(iVar20 == -1)" (( "(") (binary_expression "iVar20 == -1" (identifier "iVar20") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "(*piVar43 != iVar20)" (( "(") (binary_expression "*piVar43 != iVar20" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (!= "!=") (identifier "iVar20")) () ")"))) () ")")) (compound_statement "{\n      if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);\n      sys_error(uVar30,iVar20);\n      *piVar21 = 0;\n      goto LAB_0006c230;\n    }" ({ "{") (if_statement "if (iVar9 != -1) {\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" (if "if") (parenthesized_expression "(iVar9 != -1)" (( "(") (binary_expression "iVar9 != -1" (identifier "iVar9") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();\n        *piVar29 = iVar9;\n      }" ({ "{") (expression_statement "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))()" (identifier "piVar29") (= "=") (cast_expression "(int *)(**(code **)(pcVar7 + 0xda5a0))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda5a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda5a0)" (( "(") (binary_expression "pcVar7 + 0xda5a0" (identifier "pcVar7") (+ "+") (number_literal "0xda5a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*piVar29 = iVar9;" (assignment_expression "*piVar29 = iVar9" (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) (= "=") (identifier "iVar9")) (; ";")) (} "}"))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e6c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")")))) (+ "+") (number_literal "0x7e6c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sys_error(uVar30,iVar20);" (call_expression "sys_error(uVar30,iVar20)" (identifier "sys_error") (argument_list "(uVar30,iVar20)" (( "(") (identifier "uVar30") (, ",") (identifier "iVar20") () ")"))) (; ";")) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0006c230;" (goto "goto") (statement_identifier "LAB_0006c230") (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")"))))) (; ";")) (if_statement "if (*piVar21 != 0) {\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = *piVar45;\n      goto LAB_0006bff4;\n    }" ({ "{") (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" (identifier "iVar5") (= "=") (pointer_expression "*piVar45" (* "*") (identifier "piVar45"))) (; ";")) (goto_statement "goto LAB_0006bff4;" (goto "goto") (statement_identifier "LAB_0006bff4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" (else "else") (compound_statement "{\n    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);\n    if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }\n    piVar21 = *(int **)(pcVar7 + 0xd8b0c);\n    iVar20 = *piVar43;\n    iVar5 = *piVar29;\n    *piVar21 = 1;\n    if (iVar20 == iVar5) goto LAB_0006c144;\n    pcVar8 = *(code **)(pcVar7 + 0xda598);\n    if (*piVar45 == iVar20) goto LAB_0006c148;\n    iVar5 = give_terminal_to(iVar20,0);\n    if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }\nLAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);\n  }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,iVar5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda4fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda4fc)" (( "(") (binary_expression "pcVar7 + 0xda4fc" (identifier "pcVar7") (+ "+") (number_literal "0xda4fc")) () ")"))))) () ")")) (argument_list "(0,iVar5)" (( "(") (number_literal "0") (, ",") (identifier "iVar5") () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);\n      sys_error(uVar30);\n      *piVar43 = *piVar29;\n      goto LAB_0006c138;\n    }" ({ "{") (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) () ")")) (argument_list "(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd87dc) + 0x7e4c" (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")")))) (+ "+") (number_literal "0x7e4c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sys_error(uVar30);" (call_expression "sys_error(uVar30)" (identifier "sys_error") (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")"))) (; ";")) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (goto_statement "goto LAB_0006c138;" (goto "goto") (statement_identifier "LAB_0006c138") (; ";")) (} "}"))) (expression_statement "piVar21 = *(int **)(pcVar7 + 0xd8b0c);" (assignment_expression "piVar21 = *(int **)(pcVar7 + 0xd8b0c)" (identifier "piVar21") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd8b0c)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd8b0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8b0c)" (( "(") (binary_expression "pcVar7 + 0xd8b0c" (identifier "pcVar7") (+ "+") (number_literal "0xd8b0c")) () ")"))))) (; ";")) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" (identifier "iVar20") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (expression_statement "iVar5 = *piVar29;" (assignment_expression "iVar5 = *piVar29" (identifier "iVar5") (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "*piVar21 = 1;" (assignment_expression "*piVar21 = 1" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar20 == iVar5) goto LAB_0006c144;" (if "if") (parenthesized_expression "(iVar20 == iVar5)" (( "(") (binary_expression "iVar20 == iVar5" (identifier "iVar20") (== "==") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_0006c144;" (goto "goto") (statement_identifier "LAB_0006c144") (; ";"))) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda598)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda598)" (( "(") (binary_expression "pcVar7 + 0xda598" (identifier "pcVar7") (+ "+") (number_literal "0xda598")) () ")"))))) (; ";")) (if_statement "if (*piVar45 == iVar20) goto LAB_0006c148;" (if "if") (parenthesized_expression "(*piVar45 == iVar20)" (( "(") (binary_expression "*piVar45 == iVar20" (pointer_expression "*piVar45" (* "*") (identifier "piVar45")) (== "==") (identifier "iVar20")) () ")")) (goto_statement "goto LAB_0006c148;" (goto "goto") (statement_identifier "LAB_0006c148") (; ";"))) (expression_statement "iVar5 = give_terminal_to(iVar20,0);" (assignment_expression "iVar5 = give_terminal_to(iVar20,0)" (identifier "iVar5") (= "=") (call_expression "give_terminal_to(iVar20,0)" (identifier "give_terminal_to") (argument_list "(iVar20,0)" (( "(") (identifier "iVar20") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }\n    else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();\n      uVar30 = *puVar42;\n      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);\n      iVar5 = *(int *)(pcVar7 + 0xd87dc);\n      pcVar8 = *(code **)(pcVar7 + 0xda6fc);\n      *piVar43 = *piVar29;\n      *puVar42 = uVar30;\n      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);\n      sys_error(uVar30,*piVar43);\n      *piVar21 = 0;\n    }" ({ "{") (expression_statement "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();" (assignment_expression "puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" (identifier "puVar42") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar7 + 0xda5a0))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar7 + 0xda5a0))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xda5a0))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda5a0)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda5a0)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda5a0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda5a0)" (( "(") (binary_expression "pcVar7 + 0xda5a0" (identifier "pcVar7") (+ "+") (number_literal "0xda5a0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar30 = *puVar42;" (assignment_expression "uVar30 = *puVar42" (identifier "uVar30") (= "=") (pointer_expression "*puVar42" (* "*") (identifier "puVar42"))) (; ";")) (expression_statement "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);" (call_expression "(**(code **)(pcVar7 + 0xda4fc))(0,*piVar29)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda4fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda4fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda4fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda4fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda4fc)" (( "(") (binary_expression "pcVar7 + 0xda4fc" (identifier "pcVar7") (+ "+") (number_literal "0xda4fc")) () ")"))))) () ")")) (argument_list "(0,*piVar29)" (( "(") (number_literal "0") (, ",") (pointer_expression "*piVar29" (* "*") (identifier "piVar29")) () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")"))))) (; ";")) (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda6fc);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda6fc)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) (; ";")) (expression_statement "*piVar43 = *piVar29;" (assignment_expression "*piVar43 = *piVar29" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (pointer_expression "*piVar29" (* "*") (identifier "piVar29"))) (; ";")) (expression_statement "*puVar42 = uVar30;" (assignment_expression "*puVar42 = uVar30" (pointer_expression "*puVar42" (* "*") (identifier "puVar42")) (= "=") (identifier "uVar30")) (; ";")) (expression_statement "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);" (assignment_expression "uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5)" (identifier "uVar30") (= "=") (call_expression "(*pcVar8)(0,iVar5 + 0x7e6c,5)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(0,iVar5 + 0x7e6c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar5 + 0x7e6c" (identifier "iVar5") (+ "+") (number_literal "0x7e6c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sys_error(uVar30,*piVar43);" (call_expression "sys_error(uVar30,*piVar43)" (identifier "sys_error") (argument_list "(uVar30,*piVar43)" (( "(") (identifier "uVar30") (, ",") (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) () ")"))) (; ";")) (expression_statement "*piVar21 = 0;" (assignment_expression "*piVar21 = 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" (else "else") (compound_statement "{\n      pcVar8 = *(code **)(pcVar7 + 0xda598);\n      if (*piVar21 != 0) goto LAB_0006c148;\n    }" ({ "{") (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda598);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda598)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda598)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda598)" (( "(") (binary_expression "pcVar7 + 0xda598" (identifier "pcVar7") (+ "+") (number_literal "0xda598")) () ")"))))) (; ";")) (if_statement "if (*piVar21 != 0) goto LAB_0006c148;" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0006c148;" (goto "goto") (statement_identifier "LAB_0006c148") (; ";"))) (} "}")))) (labeled_statement "LAB_0006c230:\n    iVar5 = *(int *)(pcVar7 + 0xd87dc);" (statement_identifier "LAB_0006c230") (: ":") (expression_statement "iVar5 = *(int *)(pcVar7 + 0xd87dc);" (assignment_expression "iVar5 = *(int *)(pcVar7 + 0xd87dc)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcVar7 + 0xd87dc)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd87dc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd87dc)" (( "(") (binary_expression "pcVar7 + 0xd87dc" (identifier "pcVar7") (+ "+") (number_literal "0xd87dc")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);" (assignment_expression "uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" (identifier "uVar30") (= "=") (call_expression "(**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda6fc))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda6fc)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda6fc)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda6fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda6fc)" (( "(") (binary_expression "pcVar7 + 0xda6fc" (identifier "pcVar7") (+ "+") (number_literal "0xda6fc")) () ")"))))) () ")")) (argument_list "(0,iVar5 + 0x7e94,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar5 + 0x7e94" (identifier "iVar5") (+ "+") (number_literal "0x7e94")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar30);" (call_expression "internal_error(uVar30)" (identifier "internal_error") (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")"))) (; ";")) (expression_statement "iVar5 = *piVar45;" (assignment_expression "iVar5 = *piVar45" (identifier "iVar5") (= "=") (pointer_expression "*piVar45" (* "*") (identifier "piVar45"))) (; ";")) (expression_statement "iVar20 = *piVar43;" (assignment_expression "iVar20 = *piVar43" (identifier "iVar20") (= "=") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) (; ";")) (labeled_statement "LAB_0006bff4:\n  pcVar8 = *(code **)(pcVar7 + 0xda58c);" (statement_identifier "LAB_0006bff4") (: ":") (expression_statement "pcVar8 = *(code **)(pcVar7 + 0xda58c);" (assignment_expression "pcVar8 = *(code **)(pcVar7 + 0xda58c)" (identifier "pcVar8") (= "=") (pointer_expression "*(code **)(pcVar7 + 0xda58c)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda58c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda58c)" (( "(") (binary_expression "pcVar7 + 0xda58c" (identifier "pcVar7") (+ "+") (number_literal "0xda58c")) () ")"))))) (; ";"))) (expression_statement "uVar30 = *puVar22;" (assignment_expression "uVar30 = *puVar22" (identifier "uVar30") (= "=") (pointer_expression "*puVar22" (* "*") (identifier "puVar22"))) (; ";")) (expression_statement "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);" (assignment_expression "**(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5)" (pointer_expression "**(uint **)(pcVar7 + 0xd8954)" (* "*") (pointer_expression "*(uint **)(pcVar7 + 0xd8954)" (* "*") (cast_expression "(uint **)(pcVar7 + 0xd8954)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8954)" (( "(") (binary_expression "pcVar7 + 0xd8954" (identifier "pcVar7") (+ "+") (number_literal "0xd8954")) () ")"))))) (= "=") (call_expression "(uint)(iVar20 != iVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar20 != iVar5)" (( "(") (binary_expression "iVar20 != iVar5" (identifier "iVar20") (!= "!=") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "iVar5 = (*pcVar8)(uVar30);" (assignment_expression "iVar5 = (*pcVar8)(uVar30)" (identifier "iVar5") (= "=") (call_expression "(*pcVar8)(uVar30)" (parenthesized_expression "(*pcVar8)" (( "(") (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) () ")")) (argument_list "(uVar30)" (( "(") (identifier "uVar30") () ")")))) (; ";")) (if_statement "if (iVar5 != *piVar36) {\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" (if "if") (parenthesized_expression "(iVar5 != *piVar36)" (( "(") (binary_expression "iVar5 != *piVar36" (identifier "iVar5") (!= "!=") (pointer_expression "*piVar36" (* "*") (identifier "piVar36"))) () ")")) (compound_statement "{\n    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);\n  }" ({ "{") (expression_statement "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);" (call_expression "(**(code **)(pcVar7 + 0xda540))(*piVar36,2,1)" (parenthesized_expression "(**(code **)(pcVar7 + 0xda540))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xda540)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xda540)" (* "*") (cast_expression "(code **)(pcVar7 + 0xda540)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xda540)" (( "(") (binary_expression "pcVar7 + 0xda540" (identifier "pcVar7") (+ "+") (number_literal "0xda540")) () ")"))))) () ")")) (argument_list "(*piVar36,2,1)" (( "(") (pointer_expression "*piVar36" (* "*") (identifier "piVar36")) (, ",") (number_literal "2") (, ",") (number_literal "1") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);" (call_expression "(**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" (parenthesized_expression "(**(code **)(pcVar7 + 0xd8aac))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd8aac)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd8aac)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd8aac)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd8aac)" (( "(") (binary_expression "pcVar7 + 0xd8aac" (identifier "pcVar7") (+ "+") (number_literal "0xd8aac")) () ")"))))) () ")")) (argument_list "(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc)" (( "(") (number_literal "0x12") (, ",") (binary_expression "*(int *)(pcVar7 + 0xd942c) + -0x6fbc" (pointer_expression "*(int *)(pcVar7 + 0xd942c)" (* "*") (cast_expression "(int *)(pcVar7 + 0xd942c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar7 + 0xd942c)" (( "(") (binary_expression "pcVar7 + 0xd942c" (identifier "pcVar7") (+ "+") (number_literal "0xd942c")) () ")")))) (+ "+") (number_literal "-0x6fbc")) () ")"))) (; ";")) (expression_statement "uVar30 = 0x2b;" (assignment_expression "uVar30 = 0x2b" (identifier "uVar30") (= "=") (number_literal "0x2b")) (; ";")) (if_statement "if (*piVar21 != 0) {\n    uVar30 = 0x2d;\n  }" (if "if") (parenthesized_expression "(*piVar21 != 0)" (( "(") (binary_expression "*piVar21 != 0" (pointer_expression "*piVar21" (* "*") (identifier "piVar21")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar30 = 0x2d;\n  }" ({ "{") (expression_statement "uVar30 = 0x2d;" (assignment_expression "uVar30 = 0x2d" (identifier "uVar30") (= "=") (number_literal "0x2d")) (; ";")) (} "}"))) (expression_statement "change_flag(0x6d,uVar30);" (call_expression "change_flag(0x6d,uVar30)" (identifier "change_flag") (argument_list "(0x6d,uVar30)" (( "(") (number_literal "0x6d") (, ",") (identifier "uVar30") () ")"))) (; ";")) (if_statement "if (*piVar44 != 0) {\n    get_tty_state();\n  }" (if "if") (parenthesized_expression "(*piVar44 != 0)" (( "(") (binary_expression "*piVar44 != 0" (pointer_expression "*piVar44" (* "*") (identifier "piVar44")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    get_tty_state();\n  }" ({ "{") (expression_statement "get_tty_state();" (call_expression "get_tty_state()" (identifier "get_tty_state") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "piVar43 = *(int **)(pcVar7 + 0xd90bc);" (assignment_expression "piVar43 = *(int **)(pcVar7 + 0xd90bc)" (identifier "piVar43") (= "=") (pointer_expression "*(int **)(pcVar7 + 0xd90bc)" (* "*") (cast_expression "(int **)(pcVar7 + 0xd90bc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd90bc)" (( "(") (binary_expression "pcVar7 + 0xd90bc" (identifier "pcVar7") (+ "+") (number_literal "0xd90bc")) () ")"))))) (; ";")) (if_statement "if (-1 < *piVar43) {\n    return (undefined1 *)*piVar21;\n  }" (if "if") (parenthesized_expression "(-1 < *piVar43)" (( "(") (binary_expression "-1 < *piVar43" (number_literal "-1") (< "<") (pointer_expression "*piVar43" (* "*") (identifier "piVar43"))) () ")")) (compound_statement "{\n    return (undefined1 *)*piVar21;\n  }" ({ "{") (return_statement "return (undefined1 *)*piVar21;" (return "return") (cast_expression "(undefined1 *)*piVar21" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcVar7 + 0xd93d8))();" (assignment_expression "iVar5 = (**(code **)(pcVar7 + 0xd93d8))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar7 + 0xd93d8))()" (parenthesized_expression "(**(code **)(pcVar7 + 0xd93d8))" (( "(") (pointer_expression "**(code **)(pcVar7 + 0xd93d8)" (* "*") (pointer_expression "*(code **)(pcVar7 + 0xd93d8)" (* "*") (cast_expression "(code **)(pcVar7 + 0xd93d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar7 + 0xd93d8)" (( "(") (binary_expression "pcVar7 + 0xd93d8" (identifier "pcVar7") (+ "+") (number_literal "0xd93d8")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 < 0) {\n    iVar5 = 0x20;\n  }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar5 = 0x20;\n  }" ({ "{") (expression_statement "iVar5 = 0x20;" (assignment_expression "iVar5 = 0x20" (identifier "iVar5") (= "=") (number_literal "0x20")) (; ";")) (} "}"))) (expression_statement "*piVar43 = iVar5;" (assignment_expression "*piVar43 = iVar5" (pointer_expression "*piVar43" (* "*") (identifier "piVar43")) (= "=") (identifier "iVar5")) (; ";")) (return_statement "return (undefined1 *)*piVar21;" (return "return") (cast_expression "(undefined1 *)*piVar21" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar21" (* "*") (identifier "piVar21"))) (; ";")) (} "}")))

int function_1(type_1 var_10)

{
  type_2 *puVar1;
  type_2 *var_22;
  type_2 *puVar3;
  type_2 *puVar4;
  type_3 var_38;
  int var_2;
  type_4 *var_4;
  type_5 *var_50;
  type_5 *pcVar8;
  int var_18;
  type_2 *var_25;
  type_3 var_28;
  char var_33;
  type_6 *var_41;
  type_7 *puVar13;
  int *var_73;
  char *pcVar15;
  int var_43;
  int *piVar18;
  int var_19;
  type_3 var_34;
  int *var_42;
  type_7 *block;
  type_8 *var_69;
  int iVar22;
  int *var_21;
  int *var_61;
  int iVar24;
  type_2 *var_24;
  int *var_46;
  type_1 pVar27;
  type_7 *puVar28;
  type_8 uVar29;
  type_4 *var_5;
  type_4 *var_31;
  type_4 *var_16;
  int *piVar33;
  type_2 *var_9;
  type_2 *puVar35;
  type_4 *var_15;
  int var_52;
  type_8 *puVar38;
  int *unaff_s6;
  int *var_72;
  int *var_45;
  type_2 *var_1;
  int var_11;
  int *var_20;
  char *pcStack_7f4;
  type_7 auStack_7ec [128];
  type_7 auStack_76c [128];
  int var_75;
  type_7 *puStack_6e8;
  type_7 *puStack_6e4;
  int iStack_6e0;
  int *piStack_6dc;
  int *piStack_6d8;
  type_8 *puStack_6d4;
  int *piStack_6d0;
  int iStack_6cc;
  int *piStack_6c8;
  type_5 *pcStack_6c4;
  type_5 *var_64;
  type_5 *pcStack_6a4;
  type_7 auStack_69c [128];
  type_7 auStack_61c [128];
  int *var_68;
  type_7 *puStack_598;
  type_7 *puStack_594;
  int iStack_590;
  type_8 uStack_58c;
  int *piStack_588;
  int iStack_584;
  int *piStack_580;
  int *piStack_57c;
  int *piStack_578;
  type_5 *pcStack_574;
  type_5 *var_58;
  type_5 *pcStack_554;
  int var_65;
  int var_66;
  int *piStack_548;
  type_5 *pcStack_544;
  type_7 auStack_53c [128];
  type_7 auStack_4bc [128];
  int var_67;
  int *piStack_438;
  int iStack_434;
  type_7 *puStack_430;
  int iStack_42c;
  type_7 *puStack_428;
  int iStack_424;
  int *piStack_420;
  int *piStack_41c;
  int *piStack_418;
  type_5 *pcStack_414;
  type_5 *var_51;
  type_5 *pcStack_3f4;
  int *piStack_3f0;
  type_5 *pcStack_3ec;
  type_7 auStack_3e4 [128];
  type_7 auStack_364 [128];
  int var_57;
  type_7 *puStack_2e0;
  type_7 *puStack_2dc;
  type_3 uStack_2d8;
  int iStack_2d4;
  type_4 *psStack_2d0;
  int iStack_2cc;
  int *piStack_2c8;
  int *piStack_2c4;
  int *piStack_2c0;
  type_5 *pcStack_2bc;
  type_2 *var_39;
  type_7 auStack_29c [128];
  type_7 auStack_21c [128];
  int var_49;
  type_2 *puStack_198;
  type_4 *psStack_194;
  type_4 *psStack_190;
  int *piStack_18c;
  type_2 *puStack_188;
  type_2 *puStack_184;
  int *piStack_180;
  type_2 *puStack_17c;
  int iStack_178;
  type_5 *pcStack_174;
  int local_144;
  type_4 set;
  type_4 oset;
  
  puVar4 = PTR___stack_chk_guard_001464dc;
  var_1 = var_7;
  var_72 = (int *)PTR_job_control_001448a8;
  var_15 = &oset;
  var_5 = &set;
  var_38 = *(type_3 *)PTR___stack_chk_guard_001464dc;
  (*(type_5 *)PTR_sigemptyset_001462d4)(var_5);
  (*(type_5 *)PTR_sigaddset_00146364)(var_5,0x12);
  (*(type_5 *)PTR_sigemptyset_001462d4)(var_15);
  (*(type_5 *)PTR_sigprocmask_00146514)(1,var_5,var_15);
  var_2 = *var_72;
  *(type_8 *)(var_1 + -0x70d8) = 0;
  *(type_8 *)(var_1 + -0x70d4) = 0;
  if ((var_2 == 0) || ((*(type_3 *)PTR_subshell_environment_00144674 & 4) != 0)) {
    var_5 = (type_4 *)(var_3 + 0x4a64);
    var_4 = (type_4 *)(*(type_5 *)PTR_set_signal_handler_00144848)(2,var_3 + 0x4a64);
    unaff_s6 = (int *)var_7;
    if (var_4 == var_5) {
      var_4 = *(type_4 **)(var_6 + 0x460);
      *(type_8 *)(var_7 + -0x70dc) = 0;
    }
    else {
      *(type_4 **)(var_6 + 0x460) = var_4;
      *(type_8 *)((int)unaff_s6 + -0x70dc) = 0;
    }
    if (var_4 == (type_4 *)0x1) {
      (*(type_5 *)PTR_set_signal_handler_00144848)(2,1);
    }
    var_42 = (int *)PTR_terminating_signal_00144834;
    local_144 = *(int *)PTR_last_command_exit_value_001445e0;
    if ((*(int *)PTR_interactive_00144590 != 0) && (*var_72 == 0)) {
      if (*(int *)PTR_terminating_signal_00144834 != 0) {
        (*(type_5 *)PTR_termsig_handler_00144838)(*(type_8 *)PTR_terminating_signal_00144834);
      }
      if (*(int *)PTR_interrupt_state_0014483c != 0) {
        (*(type_5 *)PTR_throw_to_top_level_00144840)();
      }
    }
    var_2 = *var_42;
  }
  else {
    local_144 = *(int *)PTR_last_command_exit_value_001445e0;
    var_2 = *(int *)PTR_terminating_signal_00144834;
    var_42 = (int *)PTR_terminating_signal_00144834;
  }
  if (var_2 != 0) {
    (*(type_5 *)PTR_termsig_handler_00144838)(*var_42);
  }
  puVar3 = PTR_wait_intr_flag_00145168;
  var_9 = var_7;
  var_22 = var_8;
  puVar1 = PTR_this_shell_builtin_00144a84;
  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||
       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||
      (*(type_2 **)PTR_this_shell_builtin_00144a84 == (type_2 *)0x0)) ||
     (var_4 = var_15, puVar35 = var_1,
     *(type_2 **)PTR_this_shell_builtin_00144a84 != var_8)) {
    var_11 = 0;
    var_4 = (type_4 *)0xffffffff;
    var_50 = (type_5 *)(var_3 + 0x7f78);
    pcVar8 = (type_5 *)(var_3 + 0x403c);
    do {
      do {
        var_5 = (type_4 *)0xffffffff;
        var_2 = *(int *)(var_9 + -0x70dc);
        puVar35 = var_9;
        if (var_10 == -1) goto LAB_0006a0c8;
        var_11 = (*pcVar8)(var_10,0,0);
        var_16 = (type_4 *)var_23;
        var_31 = (type_4 *)var_6;
        if (var_11 == 0) {
          var_12(*(type_1 *)PTR_shell_pgrp_001448ac,0);
          (*(type_5 *)PTR_sigprocmask_00146514)(3,var_15,0);
          pcVar15 = (char *)(*(type_5 *)PTR_dcgettext_00146498)(0,var_13 + 0x7cdc,5);
          var_14(pcVar15,var_10);
          var_15 = *(type_4 **)((int)var_31 + 0x460);
          if (var_15 == var_16) {
            local_144 = 0x7f;
          }
          else {
            (*(type_5 *)PTR_set_signal_handler_00144848)(2);
            local_144 = 0x7f;
            *(type_4 **)((int)var_31 + 0x460) = var_16;
            *(type_8 *)(var_7 + -0x70dc) = 0;
          }
          goto LAB_0006a040;
        }
        var_19 = *(int *)(var_11 + 0xc);
        if (var_4 == var_5) {
          if (0 < (int)*(type_4 **)(var_17 + 0x18)) {
            var_5 = (type_4 *)0x0;
            var_21 = *(int **)PTR_jobs_00144e5c;
            do {
              var_18 = *var_21;
              if (var_18 != 0) {
                var_20 = *(int **)(var_18 + 4);
                do {
                  if (var_10 == var_20[1]) {
                    if (var_19 == 1) goto LAB_0006a0c0;
                    goto LAB_00069c50;
                  }
                  var_20 = (int *)*var_20;
                } while (*(int **)(var_18 + 4) != var_20);
              }
              var_5 = (type_4 *)((int)var_5->__val + 1);
              var_21 = var_21 + 1;
            } while (*(type_4 **)(var_17 + 0x18) != var_5);
          }
          var_2 = *(int *)(var_9 + -0x70dc);
          if (var_19 == 1) goto LAB_0006a0c8;
        }
        else {
          var_5 = var_4;
          if (var_19 == 1) {
LAB_0006a0c0:
            var_2 = *(int *)(var_9 + -0x70dc);
            var_4 = var_5;
          }
          else {
            var_18 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)var_4 * 4);
LAB_00069c50:
            var_2 = *(int *)(var_9 + -0x70dc);
            var_4 = var_5;
            if (*(int *)(var_18 + 0xc) != 1) goto LAB_00069c60;
          }
LAB_0006a0c8:
          *(type_8 *)(var_9 + -0x7040) = 1;
          *(int *)(var_9 + -0x70dc) = var_2 + 1;
          var_2 = (*var_50)(1);
          *(type_8 *)(var_9 + -0x7040) = 0;
          *(int *)(var_9 + -0x70dc) = *(int *)(var_9 + -0x70dc) + -1;
          unaff_s6 = (int *)var_9;
          if ((var_2 == -1) &&
             (var_20 = (int *)(*(type_5 *)PTR___errno_location_0014633c)(),
             var_16 = (type_4 *)var_23, var_25 = var_17,
             var_24 = var_6, *var_20 == 10)) {
            if (*(type_2 **)puVar1 == var_22) {
              var_31 = (type_4 *)var_9;
              if (*(type_2 **)(var_6 + 0x460) ==
                  var_23) {
                local_144 = -1;
              }
              else {
                (*(type_5 *)PTR_set_signal_handler_00144848)(2);
                local_144 = -1;
                *(type_4 **)(var_24 + 0x460) = var_16;
                *(type_8 *)(var_9 + -0x70dc) = 0;
              }
              goto LAB_0006a02c;
            }
            if (var_11 != 0) {
              *(type_8 *)(var_11 + 0xc) = 0;
              *(type_8 *)(var_11 + 8) = 0;
            }
            *(type_8 *)(var_25 + 4) = 0;
            if (var_4 != (type_4 *)0xffffffff) {
              var_2 = *(int *)(var_25 + 0x28);
              var_21 = *(int **)PTR_jobs_00144e5c;
              var_19 = var_21[(int)var_4];
              *(int *)(var_25 + 8) = *(int *)(var_25 + 8) + 1;
              *(type_8 *)(var_19 + 0xc) = 4;
              *(int *)(var_25 + 0x28) = var_2 + 1;
            }
            if (var_10 == -1) {
              var_24 = var_6;
              var_31 = (type_4 *)var_23;
              var_20 = (int *)var_9;
              if (*(type_2 **)(var_6 + 0x460) ==
                  var_23) goto LAB_00069d48;
              goto LAB_00069d30;
            }
          }
        }
LAB_00069c60:
        if ((*(int *)PTR_interactive_00144590 != 0) && (*var_72 == 0)) {
          if (*var_42 != 0) {
            (*(type_5 *)PTR_termsig_handler_00144838)(*var_42);
          }
          if (*(int *)PTR_interrupt_state_0014483c != 0) {
            (*(type_5 *)PTR_throw_to_top_level_00144840)();
          }
        }
        if (*var_42 != 0) {
          (*(type_5 *)PTR_termsig_handler_00144838)(*var_42);
        }
        var_31 = (type_4 *)var_23;
        var_24 = var_6;
        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&
            (var_25 = *(type_2 **)puVar1, var_25 != (type_2 *)0x0)) &&
           (var_5 = (type_4 *)var_9, var_25 == var_22)) goto LAB_0006a708;
        if (var_10 == -1) {
          var_16 = var_4;
          if (*(type_2 **)(var_6 + 0x460) !=
              var_23) {
            (*(type_5 *)PTR_set_signal_handler_00144848)(2);
            *(type_4 **)(var_24 + 0x460) = var_31;
            *(type_8 *)(var_7 + -0x70dc) = 0;
          }
          goto LAB_0006a02c;
        }
      } while (*(int *)(var_11 + 0xc) == 1);
      if (var_4 == (type_4 *)0xffffffff) {
        if (*(type_2 **)(var_6 + 0x460) !=
            var_23) {
          (*(type_5 *)PTR_set_signal_handler_00144848)(2);
          *(type_4 **)(var_24 + 0x460) = var_31;
          *(type_8 *)(var_7 + -0x70dc) = 0;
        }
        goto LAB_0006a2e0;
      }
      unaff_s6 = (int *)((int)var_4 * 4);
      var_2 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      var_19 = *(int *)(var_2 + 0xc);
      var_21 = (int *)PTR_jobs_00144e5c;
    } while (var_19 == 1);
    var_20 = (int *)var_7;
    if (*(type_2 **)(var_6 + 0x460) == var_23) {
LAB_00069d68:
      var_21 = (int *)PTR_jobs_00144e5c;
      local_144 = var_26((int)var_4);
      var_28 = var_27((int)var_4);
      var_28 = var_28 & 0x7f;
      if ((char)((char)var_28 + '\x01') >> 1 < '\x01') {
        var_28 = 0;
      }
      *(type_3 *)PTR_last_command_exit_signal_0014519c = var_28;
      puVar1 = PTR_subshell_environment_00144674;
      if (var_19 == 2) {
        var_28 = *(type_3 *)(var_11 + 8);
LAB_0006a460:
        local_144 = ((var_28 << 0x10) >> 0x18) + 0x80;
LAB_00069ddc:
        var_2 = *(int *)(*var_21 + (int)unaff_s6);
      }
      else if (var_11 != 0) {
        var_28 = *(type_3 *)(var_11 + 8);
        if ((var_28 & 0xff) == 0x7f) goto LAB_0006a460;
        goto LAB_00069ddc;
      }
      var_28 = *(type_3 *)PTR_subshell_environment_00144674;
      if (((*(type_3 *)(var_2 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))
      {
        if ((var_28 & 0x11) == 0) {
          var_12(*(type_1 *)PTR_shell_pgrp_001448ac,0);
          var_28 = *(type_3 *)puVar1;
        }
        else {
          var_28 = *(type_3 *)PTR_subshell_environment_00144674;
        }
      }
      var_42 = (int *)PTR_interactive_shell_00144598;
      if (*(int *)PTR_interactive_shell_00144598 != 0) {
        if (var_28 == 0) {
          var_2 = *(int *)(*var_21 + (int)unaff_s6);
          var_20 = *(int **)(var_2 + 4);
          do {
            var_31 = (type_4 *)(var_20[2] & 0x7f);
            var_24 = (type_2 *)((int)(char)((char)var_31 + '\x01') >> 1);
            if ((0 < (int)var_24) || ((var_20[2] & 0xffU) == 0x7f)) {
              var_29();
              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;
              if ((*(type_4 **)(var_17 + 0x2c) != var_4) &&
                 (var_2 = *(int *)(*var_21 + (int)unaff_s6), (*(type_3 *)(var_2 + 0x10) & 1) == 0))
              goto LAB_00069ef0;
              (*(type_5 *)PTR_get_new_window_size_00144984)(0,0,0);
              goto LAB_00069ee4;
            }
            var_20 = (int *)*var_20;
          } while (*(int **)(var_2 + 4) != var_20);
          if ((*(type_3 *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {
            var_30();
LAB_00069ee4:
            var_2 = *(int *)(*var_21 + (int)unaff_s6);
          }
LAB_00069ef0:
          if ((((*var_72 == 0) || ((*(type_3 *)(var_2 + 0x10) & 5) != 5)) || ((int)var_24 < 1)) ||
             (var_31 != (type_4 *)0x2)) goto LAB_0006a008;
          var_2 = var_32(2);
          var_10 = (type_1)var_24;
          if ((((var_2 == 0) &&
               ((var_20 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0
                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&
                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||
              ((var_2 = var_32(2), var_1 = PTR_stdout_001462f8, var_2 != 0 &&
               (var_20 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)
               ))) || (((*var_42 != 0 && (var_2 = var_32(2), var_2 == 0)) &&
                       (var_20 = (int *)PTR_interrupt_state_0014483c, var_10 = (type_1)var_1,
                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;
          var_24 = PTR_stdout_001462f8;
          (*(type_5 *)PTR_putc_0014629c)(10,*(type_8 *)PTR_stdout_001462f8);
          (*(type_5 *)PTR_fflush_00146520)(*(type_8 *)var_24);
        }
        else if ((var_28 & 0x14) != 0) {
          var_2 = *(int *)(var_1 + -0x70d4);
          goto LAB_0006a3ac;
        }
LAB_00069ffc:
        unaff_s6 = (int *)(*var_21 + (int)unaff_s6);
        var_2 = *unaff_s6;
LAB_0006a008:
        var_19 = *(int *)(var_2 + 0xc);
        var_10 = (type_1)var_24;
        goto LAB_0006a00c;
      }
      if ((var_28 & 0x14) != 0) {
        var_2 = *(int *)(var_1 + -0x70d4);
LAB_0006a3ac:
        if (((var_2 != 0) && (*(int *)(var_1 + -0x70d8) == 0)) &&
           (var_2 = var_32(2), var_2 == 0)) {
          (*(type_5 *)PTR_sigprocmask_00146514)(3,var_15,0);
          var_2 = (*(type_5 *)PTR_set_signal_handler_00144848)(2,0);
          *(int *)(var_24 + 0x460) = var_2;
          if (var_2 == 1) {
            if (var_31 != (type_4 *)0x1) {
              (*(type_5 *)PTR_set_signal_handler_00144848)(2,1);
              *(type_4 **)(var_24 + 0x460) = var_31;
              unaff_s6 = (int *)(*var_21 + (int)unaff_s6);
              var_2 = *unaff_s6;
              *(type_8 *)(var_7 + -0x70dc) = 0;
              goto LAB_0006a008;
            }
          }
          else {
            uVar29 = (*(type_5 *)PTR_getpid_0014640c)();
            (*(type_5 *)PTR_kill_001463b8)(uVar29,2);
          }
        }
        goto LAB_00069ffc;
      }
      var_2 = *(int *)(*var_21 + (int)unaff_s6);
      if (var_28 != 0) goto LAB_0006a008;
      if ((*(type_3 *)(var_2 + 0x10) & 1) != 0) {
        var_20 = *(int **)(var_2 + 4);
        do {
          var_28 = var_20[2] & 0x7f;
          var_33 = (char)((char)var_28 + '\x01') >> 1;
          if (('\0' < var_33) || ((var_20[2] & 0xffU) == 0x7f)) break;
          var_20 = (int *)*var_20;
        } while (*(int **)(var_2 + 4) != var_20);
        if (((*var_72 != 0) && ((*(type_3 *)(var_2 + 0x10) & 4) != 0)) &&
           (('\0' < var_33 && (var_28 == 2)))) {
          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;
        }
        if (*(int *)PTR_check_window_size_00144af0 != 0) {
          (*(type_5 *)PTR_get_new_window_size_00144984)(0,0,0);
          goto LAB_00069ffc;
        }
        var_10 = (type_1)var_24;
        if (*(int *)(var_2 + 0xc) != 4) goto LAB_0006a01c;
        goto LAB_0006a528;
      }
      goto LAB_0006a01c;
    }
LAB_00069d30:
    var_31 = (type_4 *)var_23;
    var_24 = var_6;
    (*(type_5 *)PTR_set_signal_handler_00144848)(2);
    *(type_4 **)(var_24 + 0x460) = var_31;
    var_20[-0x1c37] = 0;
    unaff_s6 = var_20;
LAB_00069d48:
    if (var_4 != (type_4 *)0xffffffff) {
      unaff_s6 = (int *)((int)var_4 * 4);
      var_2 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      var_19 = *(int *)(var_2 + 0xc);
      goto LAB_00069d68;
    }
    if (var_11 == 0) {
      local_144 = 0;
      *(type_8 *)PTR_last_command_exit_signal_0014519c = 0;
    }
    else {
LAB_0006a2e0:
      var_34 = *(type_3 *)(var_11 + 8);
      var_28 = var_34 & 0x7f;
      if ((char)((char)var_28 + '\x01') >> 1 < '\x01') {
        local_144 = var_35(var_34);
        var_28 = 0;
      }
      else {
        local_144 = var_28 + 0x80;
      }
      *(type_3 *)PTR_last_command_exit_signal_0014519c = var_28;
      if ((var_34 & 0xff) == 0x7f) {
        local_144 = ((var_34 << 0x10) >> 0x18) + 0x80;
      }
    }
    var_16 = var_4;
    if ((*(type_3 *)PTR_subshell_environment_00144674 & 0x11) == 0 &&
        *(int *)PTR_running_in_background_001446f0 == 0) {
      var_12(*(type_1 *)PTR_shell_pgrp_001448ac,0);
    }
  }
  else {
LAB_0006a708:
    var_31 = var_5;
    var_20 = (int *)0x1;
    (*(type_5 *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);
LAB_0006a714:
    unaff_s6 = (int *)(*var_21 + (int)unaff_s6);
    var_2 = *unaff_s6;
    *var_20 = *var_20 + 1;
    var_19 = *(int *)(var_2 + 0xc);
LAB_0006a00c:
    var_24 = (type_2 *)var_10;
    var_9 = puVar35;
    if ((var_19 == 4) && ((*(type_3 *)(var_2 + 0x10) & 1) != 0)) {
LAB_0006a528:
      var_36((int)var_4);
      var_24 = (type_2 *)var_10;
      var_9 = puVar35;
    }
LAB_0006a01c:
    var_37();
    var_16 = var_4;
  }
LAB_0006a02c:
  (*(type_5 *)PTR_sigprocmask_00146514)(3,var_15,0);
  var_10 = (type_1)var_24;
LAB_0006a040:
  if (var_38 == *(type_3 *)puVar4) {
    return local_144;
  }
  var_50 = var_60;
  var_1 = PTR___stack_chk_fail_00146488;
  (*(type_5 *)PTR___stack_chk_fail_00146488)();
  var_39 = var_1 + 0xe1e00;
  var_20 = *(int **)(var_1 + 0xdbd9c);
  puStack_17c = (type_2 *)var_72;
  var_49 = *var_20;
  puStack_198 = (type_2 *)var_10;
  psStack_194 = var_31;
  psStack_190 = var_16;
  piStack_18c = var_42;
  puStack_188 = var_9;
  puStack_184 = puVar3;
  piStack_180 = unaff_s6;
  iStack_178 = var_11;
  pcStack_174 = var_50;
  (**(type_5 **)(var_1 + 0xdbb94))(auStack_29c);
  (**(type_5 **)(var_39 + -0x61dc))(auStack_29c,0x12);
  (**(type_5 **)(var_39 + -0x626c))(auStack_21c);
  (**(type_5 **)(var_39 + -0x602c))(1,auStack_29c,auStack_21c);
  var_41 = var_40(var_38,0,(int *)0x0);
  (**(type_5 **)(var_39 + -0x602c))(3,auStack_21c,0);
  if (var_41 == (type_6 *)0x0) {
    var_42 = *(int **)(var_39 + -0x7408);
    var_2 = *var_42;
    var_19 = 0;
    if (((var_2 != 0) && (var_42[2] != 0)) && (var_42[3] != 0)) {
      var_18 = *(int *)(*(int *)(var_39 + -0x7404) + (var_38 & 0xfff) * 4);
      if (var_18 != -1) {
        var_42 = (int *)(var_2 + var_18 * 0x10);
        if (var_38 == var_42[2]) {
LAB_0006aaf8:
          var_2 = (int)*(short *)(var_42 + 3);
          if (-1 < var_2) goto LAB_0006a9b0;
        }
        else {
          var_43 = *var_42;
          while (var_18 != var_43) {
            if (var_43 == -1) goto LAB_0006aae8;
            var_42 = (int *)(var_2 + var_43 * 0x10);
            if (var_38 == var_42[2]) goto LAB_0006aaf8;
            var_43 = *var_42;
          }
          var_44((char *)(*(int *)(var_39 + -0x7fc8) + 32000));
        }
      }
    }
LAB_0006aae8:
    var_15 = (type_4 *)((type_3)var_15 & 1);
    if (var_15 == (type_4 *)0x0) {
      var_2 = 0x7f;
    }
    else {
      var_2 = 0x7f;
      pcVar15 = (char *)(**(type_5 **)(var_39 + -0x60a8))
                                  (0,*(int *)(var_39 + -0x7fc8) + 0x7d38,5);
      var_14(pcVar15,var_38);
    }
  }
  else {
    unaff_s6 = *(int **)(var_39 + -0x77a4);
    var_15 = (type_4 *)((type_3)var_15 & 2);
    var_72 = (int *)0x7f;
    var_2 = function_1(var_38);
    while (var_15 != (type_4 *)0x0) {
      (**(type_5 **)(var_39 + -0x626c))(auStack_29c);
      (**(type_5 **)(var_39 + -0x61dc))(auStack_29c,0x12);
      (**(type_5 **)(var_39 + -0x626c))(auStack_21c);
      (**(type_5 **)(var_39 + -0x602c))(1,auStack_29c,auStack_21c);
      if ((var_41->running != 1) && ((char)var_41->var_34 != '\x7f')) {
        (**(type_5 **)(var_39 + -0x602c))(3,auStack_21c,0);
        break;
      }
      (**(type_5 **)(var_39 + -0x602c))();
      var_2 = function_1(var_38);
    }
    var_19 = *(int *)(var_39 + -0x76e8);
    (**(type_5 **)(var_39 + -0x626c))(auStack_29c);
    (**(type_5 **)(var_39 + -0x61dc))(auStack_29c,0x12);
    (**(type_5 **)(var_39 + -0x626c))(auStack_21c);
    (**(type_5 **)(var_39 + -0x602c))(1,auStack_29c,auStack_21c);
    if (0 < *(int *)(var_19 + 0x18)) {
      var_18 = 0;
      var_42 = (int *)**(type_8 **)(var_39 + -0x76e4);
      do {
        var_43 = *var_42;
        if (var_43 != 0) {
          var_45 = *(int **)(var_43 + 4);
          var_28 = var_45[1];
          var_46 = var_45;
          while( true ) {
            if (var_38 == var_28) {
              var_50 = *(type_5 **)(var_39 + -0x602c);
              if (*(int *)(var_43 + 0xc) == 4) {
                *(type_3 *)(var_43 + 0x10) = *(type_3 *)(var_43 + 0x10) | 2;
              }
              goto LAB_0006a950;
            }
            var_46 = (int *)*var_46;
            if (var_45 == var_46) break;
            var_28 = var_46[1];
          }
        }
        var_18 = var_18 + 1;
        var_42 = var_42 + 1;
      } while (var_18 != *(int *)(var_19 + 0x18));
    }
    var_50 = *(type_5 **)(var_39 + -0x602c);
LAB_0006a950:
    (*var_50)(3,auStack_21c,0);
    if (**(int **)(var_39 + -0x7fb4) != 0) {
      if ((*(int *)(var_19 + 0x18) != 0) &&
         (*(int *)(*(int *)(var_39 + -0x73ec) + -0x705c) == 0)) {
        var_47();
      }
      var_48(var_38);
    }
  }
LAB_0006a9b0:
  if (var_49 == *var_20) {
    return var_2;
  }
  var_50 = *(type_5 **)(var_39 + -0x60b8);
  pcVar8 = wait_for_background_pids;
  (*var_50)();
  var_51 = var_50 + 0xe19dc;
  piStack_3f0 = *(int **)(var_50 + 0xdb978);
  var_18 = *(int *)(var_50 + 0xda48c);
  pcStack_3f4 = (type_5 *)(var_18 + 0x5a6c);
  var_43 = *(int *)(var_50 + 0xd9a14);
  var_57 = *piStack_3f0;
  pcStack_3ec = (type_5 *)(*(int *)(var_50 + 0xda48c) + 0x4e60);
  var_52 = *(int *)(var_50 + 0xda2f4);
  var_42 = *(int **)(var_50 + 0xda2f8);
  puStack_2e0 = auStack_29c;
  puStack_2dc = auStack_21c;
  uStack_2d8 = var_38;
  iStack_2d4 = var_19;
  psStack_2d0 = var_15;
  iStack_2cc = var_2;
  piStack_2c8 = unaff_s6;
  piStack_2c4 = var_72;
  piStack_2c0 = var_20;
  pcStack_2bc = pcVar8;
LAB_0006abe0:
  do {
    var_50 = *(type_5 **)(var_51 + -0x626c);
    do {
      var_46 = (int *)0x0;
      (*var_50)(auStack_3e4);
      (**(type_5 **)(var_51 + -0x61dc))(auStack_3e4,0x12);
      (**(type_5 **)(var_51 + -0x626c))(auStack_364);
      (**(type_5 **)(var_51 + -0x602c))(1,auStack_3e4,auStack_364);
      var_20 = *(int **)(var_52 + 0x18);
      var_50 = var_51;
      if (0 < (int)var_20) {
        var_18 = 2;
        do {
          var_72 = (int *)((int)var_46 * 4);
          var_2 = *(int *)(*var_42 + (int)var_72);
          if (var_2 != 0) {
            var_19 = *(int *)(var_2 + 0xc);
            if (var_19 == 2) {
              var_2 = (*pcStack_3f4)(var_46);
              (**(type_5 **)(var_51 + -0x7354))
                        (var_43 + 0x7d64,(int)var_46 + 1,*(type_8 *)(var_2 + 4));
              var_72 = (int *)(*var_42 + (int)var_72);
              var_2 = *var_72;
              var_50 = var_51;
              if (var_2 == 0) goto LAB_0006ac6c;
              var_19 = *(int *)(var_2 + 0xc);
            }
            unaff_s6 = (int *)((int)var_46 + 1);
            if ((var_19 == 1) && ((*(type_3 *)(var_2 + 0x10) & 1) == 0)) {
              if (var_46 != *(int **)(var_52 + 0x18)) goto LAB_0006ac88;
              var_50 = *(type_5 **)(var_50 + -0x602c);
              goto LAB_0006ad54;
            }
          }
LAB_0006ac6c:
          var_46 = (int *)((int)var_46 + 1);
          var_20 = *(int **)(var_52 + 0x18);
          unaff_s6 = var_46;
        } while ((int)var_46 < (int)var_20);
      }
      var_50 = *(type_5 **)(var_50 + -0x602c);
      if (var_46 == var_20) {
LAB_0006ad54:
        puVar13 = auStack_364;
        (*var_50)(3,auStack_364,0);
        if ((**(int **)(var_51 + -0x73fc) != 0) &&
           (var_2 = *(int *)(**(int **)(var_51 + -0x73fc) + 4), var_2 != -1)) {
          function_1(var_2);
        }
        var_53();
        var_54();
        var_2 = 1;
        var_55(1);
        if ((*(int *)(var_52 + 0x18) != 0) &&
           (*(int *)(*(int *)(var_51 + -0x73ec) + -0x705c) == 0)) {
          var_47();
        }
        var_56();
        if (var_57 == *piStack_3f0) {
          return *piStack_3f0;
        }
        var_50 = *(type_5 **)(var_51 + -0x60b8);
        pcVar8 = wait_for_job;
        (*var_50)();
        var_58 = var_50 + 0xe1688;
        piStack_548 = *(int **)(var_50 + 0xdb624);
        puVar28 = auStack_53c;
        var_45 = (int *)(var_2 * 4);
        var_67 = *piStack_548;
        var_20 = *(int **)(var_50 + 0xd9fa4);
        piStack_438 = var_46;
        iStack_434 = var_18;
        puStack_430 = auStack_364;
        iStack_42c = var_43 + 0x7d64;
        puStack_428 = auStack_3e4;
        iStack_424 = var_52;
        piStack_420 = unaff_s6;
        piStack_41c = var_72;
        piStack_418 = var_42;
        pcStack_414 = pcVar8;
        (**(type_5 **)(var_50 + 0xdb41c))(puVar28);
        (**(type_5 **)(var_58 + -0x61dc))(puVar28,0x12);
        (**(type_5 **)(var_58 + -0x626c))(auStack_4bc);
        block = puVar28;
        (**(type_5 **)(var_58 + -0x602c))(1,puVar28,auStack_4bc);
        if (*(int *)(*(int *)(*var_20 + (int)var_45) + 0xc) == 2) {
          pcVar15 = (char *)(**(type_5 **)(var_58 + -0x60a8))
                                      (0,*(int *)(var_58 + -0x7fc8) + 0x7d78,5);
          block = (type_7 *)(var_2 + 1);
          var_44(pcVar15);
        }
        pcStack_554 = *(type_5 **)(var_58 + -0x77a4);
        var_72 = (int *)0xffffffff;
        var_42 = (int *)((type_3)puVar13 & 2);
        var_66 = *(int *)(var_58 + -0x76e8);
        var_41 = var_59(var_2,(int)block);
        var_46 = (int *)var_41->var_10;
        (**(type_5 **)(var_58 + -0x602c))(3,auStack_4bc,0);
        pcStack_544 = (type_5 *)(*(int *)(var_58 + -0x7550) + 0x4e60);
        goto LAB_0006afd8;
      }
LAB_0006ac88:
      var_2 = (*pcStack_3f4)(var_46);
      pVar27 = *(type_1 *)(var_2 + 4);
      (**(type_5 **)(var_51 + -0x602c))(3,auStack_364,0);
      if (**(int **)(var_51 + -0x7d0c) != 0) {
        (**(type_5 **)(var_51 + -0x7d08))(**(int **)(var_51 + -0x7d0c));
      }
      if (**(int **)(var_51 + -0x7d04) != 0) {
        (**(type_5 **)(var_51 + -32000))();
      }
      unaff_s6 = (int *)(**(type_5 **)(var_51 + -0x6204))();
      *unaff_s6 = 0;
      var_2 = var_60(pVar27,1);
      if (var_2 != -1) goto LAB_0006abe0;
      var_50 = *(type_5 **)(var_51 + -0x626c);
    } while ((*unaff_s6 != 10) || (*(int *)(var_52 + 0x18) == 0));
    (*pcStack_3ec)();
  } while( true );
LAB_0006b3b8:
  puVar13 = (type_7 *)var_26((int)var_20);
  if (((var_61 == (int *)0x0) || (var_62(), *(int *)(var_19 + 0x18) != 0)) &&
     (*(int *)(var_18 + -0x705c) == 0)) {
    var_63((int)var_20,0);
  }
  (**(type_5 **)(var_64 + -0x737c))();
  (**(type_5 **)(var_64 + -0x602c))(3,puVar28,0);
  goto LAB_0006b430;
  while( true ) {
    var_65 = *(int *)(*(int *)(*var_20 + (int)var_45) + 0xc);
    (**(type_5 **)(var_58 + -0x602c))(3,auStack_4bc);
    if (var_65 == 4) break;
LAB_0006afd8:
    var_19 = (*pcStack_554)(var_46);
    if (((var_19 == -1) && (var_61 = (int *)(**(type_5 **)(var_58 + -0x6204))(), *var_61 == 10)
        ) && (*(int *)(var_66 + 0x18) != 0)) {
      (*pcStack_544)();
      var_50 = *(type_5 **)(var_58 + -0x626c);
    }
    else {
      var_50 = *(type_5 **)(var_58 + -0x626c);
    }
    if (var_42 == (int *)0x0) {
      (*var_50)(puVar28);
      (**(type_5 **)(var_58 + -0x61dc))(puVar28,0x12);
      (**(type_5 **)(var_58 + -0x626c))(auStack_4bc);
      (**(type_5 **)(var_58 + -0x602c))(1,puVar28,auStack_4bc);
      if (var_2 != -1) goto LAB_0006b0d0;
      var_50 = *(type_5 **)(var_58 + -0x602c);
      goto LAB_0006b0f4;
    }
    (*var_50)();
    (**(type_5 **)(var_58 + -0x61dc))(puVar28,0x12);
    (**(type_5 **)(var_58 + -0x626c))(auStack_4bc);
    (**(type_5 **)(var_58 + -0x602c))(1,puVar28,auStack_4bc);
    if (var_2 == -1) {
      (**(type_5 **)(var_58 + -0x602c))(3,auStack_4bc,0);
      (**(type_5 **)(var_58 + -0x626c))(puVar28);
      (**(type_5 **)(var_58 + -0x61dc))(puVar28,0x12);
      (**(type_5 **)(var_58 + -0x626c))(auStack_4bc);
      (**(type_5 **)(var_58 + -0x602c))(1,puVar28,auStack_4bc);
      goto LAB_0006b0f0;
    }
    if (*(int *)(*var_20 + (int)var_45) == 0) {
      (**(type_5 **)(var_58 + -0x602c))(3,auStack_4bc,0);
      break;
    }
  }
  (**(type_5 **)(var_58 + -0x626c))(puVar28);
  (**(type_5 **)(var_58 + -0x61dc))(puVar28,0x12);
  (**(type_5 **)(var_58 + -0x626c))(auStack_4bc);
  (**(type_5 **)(var_58 + -0x602c))(1,puVar28,auStack_4bc);
LAB_0006b0d0:
  var_45 = (int *)(*var_20 + (int)var_45);
  var_18 = *var_45;
  if ((var_18 != 0) && (*(int *)(var_18 + 0xc) == 4)) {
    *(type_3 *)(var_18 + 0x10) = *(type_3 *)(var_18 + 0x10) | 2;
  }
LAB_0006b0f0:
  var_50 = *(type_5 **)(var_58 + -0x602c);
LAB_0006b0f4:
  (*var_50)(3,auStack_4bc,0);
  if (var_67 == *piStack_548) {
    return var_19;
  }
  var_50 = *(type_5 **)(var_58 + -0x60b8);
  pcVar8 = wait_for_any_job;
  (*var_50)();
  var_64 = var_50 + 0xe1290;
  var_18 = *(int *)(var_50 + 0xd9ea4);
  puVar38 = *(type_8 **)(var_50 + 0xdb22c);
  uStack_58c = 0xffffffff;
  var_68 = (int *)*puVar38;
  puStack_598 = puVar28;
  puStack_594 = auStack_4bc;
  iStack_590 = var_19;
  piStack_588 = var_42;
  iStack_584 = var_2;
  piStack_580 = var_46;
  piStack_57c = var_45;
  piStack_578 = var_20;
  pcStack_574 = pcVar8;
  if (*(int *)(var_18 + -0x705c) == 0) {
    puVar13 = auStack_69c;
    var_19 = *(int *)(var_50 + 0xd9ba8);
    puVar28 = auStack_61c;
    (**(type_5 **)(var_50 + 0xdb024))(puVar13);
    (**(type_5 **)(var_64 + -0x61dc))(puVar13,0x12);
    (**(type_5 **)(var_64 + -0x626c))(puVar28);
    (**(type_5 **)(var_64 + -0x602c))(1,puVar13,puVar28);
    if (0 < (int)*(int **)(var_19 + 0x18)) {
      var_20 = (int *)0x0;
      var_61 = (int *)**(int **)(var_64 + -0x76e4);
      var_45 = var_61;
      do {
        var_2 = *var_45;
        if (((var_2 != 0) && (*(int *)(var_2 + 0xc) == 4)) && ((*(type_3 *)(var_2 + 0x10) & 2) == 0))
        goto LAB_0006b3b8;
        var_20 = (int *)((int)var_20 + 1);
        var_45 = var_45 + 1;
      } while (var_20 != *(int **)(var_19 + 0x18));
    }
    var_42 = *(int **)(var_64 + -0x76e4);
    var_72 = *(int **)(var_64 + -0x7d0c);
    (**(type_5 **)(var_64 + -0x602c))(3,puVar28,0);
    var_20 = *(int **)(var_64 + -0x7550);
    var_46 = *(int **)(var_64 + -0x7d04);
    pcStack_6a4 = (type_5 *)(var_20 + 0x1398);
    do {
      (**(type_5 **)(var_64 + -0x626c))(puVar13);
      (**(type_5 **)(var_64 + -0x61dc))(puVar13,0x12);
      (**(type_5 **)(var_64 + -0x626c))(puVar28);
      (**(type_5 **)(var_64 + -0x602c))(1,puVar13,puVar28);
      var_2 = *(int *)(var_19 + 0x18);
      if (var_2 < 1) {
        var_50 = *(type_5 **)(var_64 + -0x602c);
        if (var_2 == 0) {
LAB_0006b680:
          (**(type_5 **)(var_64 + -0x602c))(3,puVar28,0);
          puVar13 = (type_7 *)0xffffffff;
          goto LAB_0006b430;
        }
      }
      else {
        var_45 = (int *)*var_42;
        var_43 = 0;
        while (((var_52 = *var_45, var_52 == 0 || (*(int *)(var_52 + 0xc) != 1)) ||
               ((*(type_3 *)(var_52 + 0x10) & 1) != 0))) {
          var_43 = var_43 + 1;
          var_45 = var_45 + 1;
          if (var_43 == var_2) goto LAB_0006b680;
        }
        var_50 = *(type_5 **)(var_64 + -0x602c);
      }
      (*var_50)(3,puVar28,0);
      if (*var_72 == 0) {
        var_50 = *(type_5 **)(var_64 + -32000);
        if (*var_46 == 0) goto LAB_0006b564;
LAB_0006b6f0:
        (*var_50)();
        if (*var_72 != 0) {
          var_50 = *(type_5 **)(var_64 + -0x7d08);
          goto LAB_0006b708;
        }
      }
      else {
        (**(type_5 **)(var_64 + -0x7d08))(*var_72);
        if (*var_46 != 0) {
          var_50 = *(type_5 **)(var_64 + -32000);
          goto LAB_0006b6f0;
        }
LAB_0006b564:
        var_50 = *(type_5 **)(var_64 + -0x7d08);
        if (*var_72 != 0) {
LAB_0006b708:
          (*var_50)(*var_72);
        }
      }
      if (**(int **)(var_64 + -0x73d8) == 0) {
LAB_0006b5a4:
        var_50 = *(type_5 **)(var_64 + -0x6204);
      }
      else {
        var_50 = *(type_5 **)(var_64 + -0x6204);
        if (**(int **)(var_64 + -0x73dc) != 0) {
          if (**(int **)(var_64 + -0x7abc) != 0) {
            var_45 = *(int **)(var_64 + -0x73d4);
            var_50 = var_64;
            if (**(int **)(var_64 + -0x7abc) != *(int *)(var_64 + -0x73f0))
            goto LAB_0006b5a4;
            goto LAB_0006b730;
          }
        }
      }
      var_20 = (int *)(*var_50)();
      *var_20 = 0;
      var_2 = function_1(-1);
      if (var_2 == -1) {
        var_50 = *(type_5 **)(var_64 + -0x626c);
        if ((*var_20 == 10) && (*(int *)(var_19 + 0x18) != 0)) {
          (*pcStack_6a4)();
          goto LAB_0006b5d4;
        }
      }
      else {
LAB_0006b5d4:
        var_50 = *(type_5 **)(var_64 + -0x626c);
      }
      (*var_50)(puVar13);
      (**(type_5 **)(var_64 + -0x61dc))(puVar13,0x12);
      (**(type_5 **)(var_64 + -0x626c))(puVar28);
      (**(type_5 **)(var_64 + -0x602c))(1,puVar13,puVar28);
      if (0 < (int)*(int **)(var_19 + 0x18)) {
        var_61 = (int *)*var_42;
        var_20 = (int *)0x0;
        var_45 = var_61;
        do {
          if ((*var_45 != 0) && (*(int *)(*var_45 + 0xc) == 4)) goto LAB_0006b3b8;
          var_20 = (int *)((int)var_20 + 1);
          var_45 = var_45 + 1;
        } while (*(int **)(var_19 + 0x18) != var_20);
      }
      (**(type_5 **)(var_64 + -0x602c))(3,puVar28,0);
    } while( true );
  }
  puVar13 = (type_7 *)0xffffffff;
LAB_0006b430:
  var_50 = var_64;
  if (var_68 == (int *)*puVar38) {
    return (int)puVar13;
  }
  var_45 = var_68;
  (**(type_5 **)(var_64 + -0x60b8))();
LAB_0006b730:
  var_50 = *(type_5 **)(var_50 + -0x625c);
  pcVar8 = start_job;
  var_69 = (type_8 *)0x1;
  (*var_50)();
  var_61 = *(int **)(var_50 + 0xdada0);
  var_2 = (int)var_45 * 4;
  var_75 = *var_61;
  piVar33 = *(int **)(var_50 + 0xd9720);
  puStack_6e8 = puVar28;
  puStack_6e4 = puVar13;
  iStack_6e0 = var_19;
  piStack_6dc = var_72;
  piStack_6d8 = var_42;
  puStack_6d4 = puVar38;
  piStack_6d0 = var_46;
  iStack_6cc = var_18;
  piStack_6c8 = var_20;
  pcStack_6c4 = pcVar8;
  (**(type_5 **)(var_50 + 0xdab98))(auStack_7ec);
  (**(type_5 **)(var_50 + 0xdac28))(auStack_7ec,0x12);
  (**(type_5 **)(var_50 + 0xdab98))(auStack_76c);
  (**(type_5 **)(var_50 + 0xdadd8))(1,auStack_7ec,auStack_76c);
  var_19 = *(int *)(*(int *)(*piVar33 + var_2) + 0xc);
  if (var_19 == 4) {
    var_2 = -1;
    pcVar15 = (char *)(**(type_5 **)(var_50 + 0xdad5c))(0,*(int *)(var_50 + 0xd8e3c) + 0x7d9c,5);
    var_14(pcVar15,**(type_8 **)(var_50 + 0xd8fec));
    (**(type_5 **)(var_50 + 0xdadd8))(3,auStack_76c,0);
  }
  else if (var_69 == (type_8 *)0x0) {
    if (var_19 != 1) {
      pcStack_7f4 = var_70();
      var_18 = *(int *)(*piVar33 + var_2);
      var_43 = **(int **)(var_50 + 0xd8e50);
      *(type_3 *)(var_18 + 0x10) = *(type_3 *)(var_18 + 0x10) & 0xfffffffd;
      if (var_43 == 0) {
        if (*(int **)(*(int *)(var_50 + 0xd971c) + 0x2c) == var_45) {
          var_43 = *(int *)(var_50 + 0xd8e3c) + 0x7144;
        }
        else {
          if (*(int **)(*(int *)(var_50 + 0xd971c) + 0x30) != var_45) goto LAB_0006b860;
          var_43 = *(int *)(var_50 + 0xd8e3c) + 0x7d98;
        }
      }
      else {
LAB_0006b860:
        var_43 = *(int *)(var_50 + 0xd8e3c) + 0x7b04;
      }
      var_72 = *(int **)(var_18 + 4);
      (**(type_5 **)(var_50 + 0xdabb0))(1,*(int *)(var_50 + 0xd8e3c) + 0x7dd8,(int)var_45 + 1,var_43)
      ;
      var_42 = *(int **)(*(int *)(*piVar33 + var_2) + 4);
      goto LAB_0006b898;
    }
    pcVar15 = (char *)(**(type_5 **)(var_50 + 0xdad5c))(0,*(int *)(var_50 + 0xd8e3c) + 0x7db4,5);
    var_14(pcVar15,**(type_8 **)(var_50 + 0xd8fec),(int)var_45 + 1);
LAB_0006b9dc:
    var_2 = 0;
    (**(type_5 **)(var_50 + 0xdadd8))(3,auStack_76c,0);
  }
  else {
    pcStack_7f4 = var_70();
    *(type_3 *)(*(int *)(*piVar33 + var_2) + 0x10) =
         *(type_3 *)(*(int *)(*piVar33 + var_2) + 0x10) & 0xfffffffd;
    var_71((int)var_45);
    var_18 = *(int *)(*piVar33 + var_2);
    var_42 = *(int **)(var_18 + 4);
    *(type_3 *)(var_18 + 0x10) = *(type_3 *)(var_18 + 0x10) | 1;
    var_72 = var_42;
LAB_0006b898:
    var_43 = *(int *)(var_50 + 0xd8e3c);
    var_18 = *(int *)(var_50 + 0xd8e70);
    var_52 = *(int *)(var_50 + 0xd8e3c);
    do {
      iVar22 = var_72[4];
      if (var_72[4] == 0) {
        iVar22 = var_18 + -0x6800;
      }
      iVar24 = var_52 + 0x6720;
      if ((int *)*var_72 == var_42) {
        iVar24 = var_18 + -0x6800;
      }
      (**(type_5 **)(var_50 + 0xdabb0))(1,var_43 + 0x6298,iVar22,iVar24);
      var_72 = (int *)*var_72;
      puVar38 = *(type_8 **)(*piVar33 + var_2);
      var_42 = (int *)puVar38[1];
    } while (var_42 != var_72);
    if (var_69 == (type_8 *)0x0) {
      (**(type_5 **)(var_50 + 0xdabb0))(1,*(int *)(var_50 + 0xd8e3c) + 0x7b74);
      puVar38 = *(type_8 **)(*piVar33 + var_2);
    }
    uVar29 = *puVar38;
    var_18 = (**(type_5 **)(var_50 + 0xdae0c))(pcStack_7f4,uVar29);
    if (var_18 != 0) {
      uVar29 = (**(type_5 **)(var_50 + 0xd9234))(uVar29);
      (**(type_5 **)(var_50 + 0xdabb0))(1,*(int *)(var_50 + 0xd8e3c) + 0x7de0,uVar29);
    }
    (**(type_5 **)(var_50 + 0xdac04))(10);
    if (var_19 == 1) {
      if (var_69 == (type_8 *)0x0) {
        *(type_3 *)(*(int *)(*piVar33 + var_2) + 0x10) =
             *(type_3 *)(*(int *)(*piVar33 + var_2) + 0x10) & 0xfffffffe;
        goto LAB_0006b9c8;
      }
      var_30();
      var_18 = *(int *)(var_50 + 0xd9a18);
      var_42 = (int *)(var_18 + -0x70d0);
      var_46 = (int *)(*(int *)(var_50 + 0xd8e2c) + 0x7ee8);
      var_72 = var_42;
      var_20 = var_46;
      do {
        var_73 = var_72 + 4;
        piVar18 = var_20 + 4;
        iVar22 = var_72[1];
        var_52 = var_72[2];
        var_43 = var_72[3];
        *var_20 = *var_72;
        var_20[1] = iVar22;
        var_20[2] = var_52;
        var_20[3] = var_43;
        var_72 = var_73;
        var_20 = piVar18;
      } while (var_73 != (int *)(var_18 + -0x70a0));
      var_18 = *piVar33;
      var_43 = *var_73;
      *piVar18 = var_43;
      var_18 = *(int *)(var_18 + var_2);
      if ((*(type_3 *)(var_18 + 0x10) & 4) != 0) goto LAB_0006bce0;
    }
    else {
      var_18 = *(int *)(*piVar33 + var_2);
      var_42 = *(int **)(var_18 + 4);
      var_72 = var_42;
      do {
        if (*(char *)((int)var_72 + 0xb) == '\x7f') {
          var_72[3] = 1;
        }
        var_72 = (int *)*var_72;
      } while (var_42 != var_72);
      *(type_8 *)(var_18 + 0xc) = 1;
      if (var_69 == (type_8 *)0x0) {
        pcVar8 = *(type_5 **)(var_50 + 0xdad38);
        *(type_3 *)(var_18 + 0x10) = *(type_3 *)(var_18 + 0x10) & 0xfffffffe | 2;
        (*pcVar8)(*(type_8 *)(var_18 + 8),0x19);
LAB_0006b9c8:
        var_74();
        goto LAB_0006b9dc;
      }
      var_30();
      var_18 = *(int *)(var_50 + 0xd9a18);
      var_42 = (int *)(var_18 + -0x70d0);
      var_46 = (int *)(*(int *)(var_50 + 0xd8e2c) + 0x7ee8);
      var_72 = var_42;
      var_20 = var_46;
      do {
        var_73 = var_72 + 4;
        piVar18 = var_20 + 4;
        iVar22 = var_72[1];
        var_52 = var_72[2];
        var_43 = var_72[3];
        *var_20 = *var_72;
        var_20[1] = iVar22;
        var_20[2] = var_52;
        var_20[3] = var_43;
        var_72 = var_73;
        var_20 = piVar18;
      } while (var_73 != (int *)(var_18 + -0x70a0));
      var_18 = *piVar33;
      *piVar18 = *var_73;
      var_18 = *(int *)(var_18 + var_2);
      if ((*(type_3 *)(var_18 + 0x10) & 4) == 0) {
        var_19 = *piVar33;
      }
      else {
LAB_0006bce0:
        var_43 = 0;
        var_12(*(type_1 *)(var_18 + 8),0);
        if (var_19 == 1) goto LAB_0006bbc8;
        var_19 = *piVar33;
      }
      var_43 = 0x19;
      pcVar8 = *(type_5 **)(var_50 + 0xdad38);
      var_2 = *(int *)(var_19 + var_2);
      *(type_3 *)(var_2 + 0x10) = *(type_3 *)(var_2 + 0x10) | 2;
      (*pcVar8)(*(type_8 *)(var_2 + 8));
    }
LAB_0006bbc8:
    var_41 = var_59((int)var_45,var_43);
    pVar27 = var_41->var_10;
    (**(type_5 **)(var_50 + 0xdadd8))(3,auStack_76c,0);
    var_2 = function_1(pVar27);
    var_72 = var_46;
    do {
      var_73 = var_72 + 4;
      var_20 = var_42 + 4;
      var_43 = var_72[1];
      var_18 = var_72[2];
      var_19 = var_72[3];
      *var_42 = *var_72;
      var_42[1] = var_43;
      var_42[2] = var_18;
      var_42[3] = var_19;
      var_42 = var_20;
      var_72 = var_73;
    } while (var_73 != var_46 + 0xc);
    *var_20 = *var_73;
    var_29();
  }
  if (var_75 == *var_61) {
    return var_2;
  }
  var_50 = *(type_5 **)(var_50 + 0xdad4c);
  var_2 = var_75;
  (*var_50)();
  var_72 = *(int **)(var_50 + 0xd8b10);
  var_19 = (**(type_5 **)(var_50 + 0xda6dc))();
  *var_72 = var_19;
  if (var_19 == -1) {
    pcVar15 = (char *)(**(type_5 **)(var_50 + 0xda6fc))(0,*(int *)(var_50 + 0xd87dc) + 0x7dec,5);
    var_76(pcVar15);
    (**(type_5 **)(var_50 + 0xda620))(1);
LAB_0006c3c8:
    uVar29 = *var_69;
LAB_0006be24:
    uVar29 = (**(type_5 **)(var_50 + 0xda58c))(uVar29);
    var_2 = (**(type_5 **)(var_50 + 0xda780))(uVar29);
    *piVar33 = var_2;
    if (var_2 != -1) goto LAB_0006bf80;
    pcVar8 = *(type_5 **)(var_50 + 0xda670);
    if (*var_72 == 0) goto LAB_0006bf08;
LAB_0006be5c:
    var_2 = *piVar33;
  }
  else {
    var_45 = *(int **)(var_50 + 0xd87f4);
    var_69 = *(type_8 **)(var_50 + 0xda77c);
    uVar29 = *var_69;
    if (var_2 == 0 && *var_45 == 0) {
      var_42 = *(int **)(var_50 + 0xd8b0c);
      puVar38 = *(type_8 **)(var_50 + 0xd9070);
      pcVar8 = *(type_5 **)(var_50 + 0xda58c);
      piVar33 = *(int **)(var_50 + 0xd93fc);
      *var_42 = 0;
      *puVar38 = 0xffffffff;
      var_2 = (*pcVar8)(uVar29);
      pcVar8 = *(type_5 **)(var_50 + 0xda598);
      *piVar33 = var_2;
      var_2 = (*pcVar8)(var_2);
      var_19 = *var_72;
      **(int **)(var_50 + 0xd9434) = var_2;
      goto LAB_0006bff4;
    }
    piVar33 = *(int **)(var_50 + 0xd93fc);
    var_2 = **(int **)(var_50 + 0xd87e4);
    *piVar33 = -1;
    if (var_2 == 0) goto LAB_0006be24;
    uVar29 = (**(type_5 **)(var_50 + 0xda58c))();
    var_2 = (**(type_5 **)(var_50 + 0xda4b0))(uVar29);
    if (var_2 == 0) {
      var_2 = (**(type_5 **)(var_50 + 0xda5dc))(*(int *)(var_50 + 0xd87dc) + 0x62c0,0x82);
      *piVar33 = var_2;
    }
    else {
      var_2 = *piVar33;
    }
    if (var_2 == -1) goto LAB_0006c3c8;
LAB_0006bf80:
    var_2 = (**(type_5 **)(var_50 + 0xd8a0c))(var_2,1,0xffffffff);
    *piVar33 = var_2;
    pcVar8 = *(type_5 **)(var_50 + 0xda670);
    if (*var_72 != 0) goto LAB_0006be5c;
LAB_0006bf08:
    var_2 = (*pcVar8)();
    pcVar8 = *(type_5 **)(var_50 + 0xda4fc);
    *var_72 = var_2;
    (*pcVar8)(0,var_2);
    var_2 = *piVar33;
    if (var_2 != -1) {
      (**(type_5 **)(var_50 + 0xda73c))(var_2,*var_72);
      goto LAB_0006be5c;
    }
  }
  var_19 = 0x12;
  var_20 = *(int **)(var_50 + 0xd9434);
  var_42 = *(int **)(var_50 + 0xd8a98);
  while( true ) {
    var_2 = (**(type_5 **)(var_50 + 0xda598))(var_2);
    *var_20 = var_2;
    if (var_2 == -1) break;
    if (*var_72 == var_2) {
      var_18 = -1;
      goto LAB_0006c118;
    }
    pcVar8 = *(type_5 **)(var_50 + 0xd8aac);
    if (*var_42 != 0) {
      (**(type_5 **)(var_50 + 0xd8a9c))(*var_42);
      pcVar8 = *(type_5 **)(var_50 + 0xd8aac);
    }
    var_19 = var_19 + -1;
    uVar29 = (*pcVar8)(0x1a,0);
    (**(type_5 **)(var_50 + 0xda61c))(0,0x1a);
    (**(type_5 **)(var_50 + 0xd8aac))(0x1a,uVar29);
    if (var_19 == 0) {
      var_42 = *(int **)(var_50 + 0xd8b0c);
      pcVar15 = (char *)(**(type_5 **)(var_50 + 0xda6fc))(0,*(int *)(var_50 + 0xd87dc) + 0x7e14,5);
      var_76(pcVar15);
      var_2 = *var_20;
      var_19 = *var_72;
      *var_42 = 0;
      **(int **)(var_50 + 0xd9070) = var_2;
      goto LAB_0006bff4;
    }
    var_2 = *piVar33;
  }
  var_42 = (int *)(**(type_5 **)(var_50 + 0xda5a0))();
  var_18 = *var_42;
  var_2 = *var_72;
LAB_0006c118:
  var_46 = *(int **)(var_50 + 0xd9070);
  pcVar8 = *(type_5 **)(var_50 + 0xda670);
  *var_46 = var_2;
  var_2 = (*pcVar8)();
  var_19 = *var_46;
  *var_72 = var_2;
  if (var_2 == var_19) {
LAB_0006c138:
    var_42 = *(int **)(var_50 + 0xd8b0c);
    *var_42 = 1;
LAB_0006c144:
    pcVar8 = *(type_5 **)(var_50 + 0xda598);
LAB_0006c148:
    var_19 = (*pcVar8)(*piVar33);
    if ((var_19 == -1) || (*var_72 != var_19)) {
      if (var_18 != -1) {
        var_46 = (int *)(**(type_5 **)(var_50 + 0xda5a0))();
        *var_46 = var_18;
      }
      pcVar15 = (char *)(**(type_5 **)(var_50 + 0xda6fc))(0,*(int *)(var_50 + 0xd87dc) + 0x7e6c,5);
      var_76(pcVar15,var_19);
      *var_42 = 0;
      goto LAB_0006c230;
    }
    var_2 = *(int *)(var_50 + 0xd87dc);
    if (*var_42 != 0) {
      var_2 = *var_20;
      goto LAB_0006bff4;
    }
  }
  else {
    var_2 = (**(type_5 **)(var_50 + 0xda4fc))(0,var_2);
    if (var_2 < 0) {
      pcVar15 = (char *)(**(type_5 **)(var_50 + 0xda6fc))(0,*(int *)(var_50 + 0xd87dc) + 0x7e4c,5);
      var_76(pcVar15);
      *var_72 = *var_46;
      goto LAB_0006c138;
    }
    var_42 = *(int **)(var_50 + 0xd8b0c);
    var_19 = *var_72;
    var_2 = *var_46;
    *var_42 = 1;
    if (var_19 == var_2) goto LAB_0006c144;
    pcVar8 = *(type_5 **)(var_50 + 0xda598);
    if (*var_20 == var_19) goto LAB_0006c148;
    var_2 = var_12(var_19,0);
    if (var_2 < 0) {
      puVar38 = (type_8 *)(**(type_5 **)(var_50 + 0xda5a0))();
      uVar29 = *puVar38;
      (**(type_5 **)(var_50 + 0xda4fc))(0,*var_46);
      var_2 = *(int *)(var_50 + 0xd87dc);
      pcVar8 = *(type_5 **)(var_50 + 0xda6fc);
      *var_72 = *var_46;
      *puVar38 = uVar29;
      pcVar15 = (char *)(*pcVar8)(0,var_2 + 0x7e6c,5);
      var_76(pcVar15,*var_72);
      *var_42 = 0;
    }
    else {
      pcVar8 = *(type_5 **)(var_50 + 0xda598);
      if (*var_42 != 0) goto LAB_0006c148;
    }
LAB_0006c230:
    var_2 = *(int *)(var_50 + 0xd87dc);
  }
  pcVar15 = (char *)(**(type_5 **)(var_50 + 0xda6fc))(0,var_2 + 0x7e94,5);
  var_14(pcVar15);
  var_2 = *var_20;
  var_19 = *var_72;
LAB_0006bff4:
  pcVar8 = *(type_5 **)(var_50 + 0xda58c);
  uVar29 = *var_69;
  **(type_3 **)(var_50 + 0xd8954) = (type_3)(var_19 != var_2);
  var_2 = (*pcVar8)(uVar29);
  if (var_2 != *piVar33) {
    (**(type_5 **)(var_50 + 0xda540))(*piVar33,2,1);
  }
  (**(type_5 **)(var_50 + 0xd8aac))(0x12,*(int *)(var_50 + 0xd942c) + -0x6fbc);
  var_2 = 0x2b;
  if (*var_42 != 0) {
    var_2 = 0x2d;
  }
  var_77(0x6d,var_2);
  if (*var_45 != 0) {
    var_30();
  }
  var_72 = *(int **)(var_50 + 0xd90bc);
  if (-1 < *var_72) {
    return *var_42;
  }
  var_2 = (**(type_5 **)(var_50 + 0xd93d8))();
  if (var_2 < 0) {
    var_2 = 0x20;
  }
  *var_72 = var_2;
  return *var_42;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (pointer_declarator 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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (type_identifier) 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)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (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: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (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: (type_identifier) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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 (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (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)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (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: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (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))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) 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: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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 (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)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (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 (pointer_expression argument: (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: (identifier))) right: (number_literal))) consequence: (compound_statement (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (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 (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (identifier))) right: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier))))) 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (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)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) right: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (identifier))) right: (number_literal))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))) consequence: (goto_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) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))))))))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal)))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))))))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) 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 (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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))))))) (labeled_statement label: (statement_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: (number_literal))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (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) (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (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)))))))))) (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)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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 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: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (char_literal (escape_sequence)) right: (identifier))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) 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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (char_literal (escape_sequence)) right: (identifier)) right: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (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) (number_literal) (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence))))) right: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (number_literal))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) right: (number_literal))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (sized_type_specifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (break_statement))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (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)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier))))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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))) right: (number_literal))))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) condition: (parenthesized_expression (true)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (call_expression function: (identifier) arguments: (argument_list)) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (goto_statement label: (statement_identifier)) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) right: (binary_expression left: (pointer_expression argument: (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: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (goto_statement label: (statement_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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (break_statement))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (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: (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)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (number_literal))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) 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: (goto_statement label: (statement_identifier))) (goto_statement label: (statement_identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (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)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) right: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) right: (number_literal))))) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) right: (number_literal))))) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (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: (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)) right: (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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))))) (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (goto_statement label: (statement_identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (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: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (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: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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))))) (number_literal))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (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))))))) (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))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (number_literal)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier)))) (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (pointer_expression argument: (identifier)) (number_literal) (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))))

undefined1 * MASKED(undefined *param_1,undefined4 param_2,undefined4 param_3,int *param_4)

{
  undefined *puVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  undefined *puVar6;
  code *pcVar7;
  code *pcVar8;
  int iVar9;
  undefined *puVar10;
  uint uVar11;
  char cVar15;
  undefined1 *puVar12;
  undefined1 *puVar13;
  undefined4 *puVar14;
  int iVar16;
  undefined4 *puVar17;
  undefined4 *puVar18;
  uint uVar19;
  int iVar20;
  int *piVar21;
  undefined4 *puVar22;
  undefined4 uVar23;
  int iVar24;
  undefined4 uVar25;
  int *piVar26;
  int iVar27;
  undefined *puVar28;
  int *piVar29;
  undefined4 uVar30;
  undefined1 *puVar31;
  undefined4 *puVar32;
  undefined *puVar33;
  undefined *puVar34;
  undefined *puVar35;
  int *piVar36;
  undefined4 *puVar37;
  undefined *puVar38;
  undefined *puVar39;
  undefined *puVar40;
  int iVar41;
  undefined4 *puVar42;
  int *unaff_s6;
  int *piVar43;
  int *piVar44;
  int unaff_s8;
  int *piVar45;
  undefined4 uStack_7f4;
  undefined1 auStack_7ec [128];
  undefined1 auStack_76c [128];
  int iStack_6ec;
  undefined1 *puStack_6e8;
  undefined1 *puStack_6e4;
  undefined1 *puStack_6e0;
  int *piStack_6dc;
  int *piStack_6d8;
  undefined4 *puStack_6d4;
  int *piStack_6d0;
  int iStack_6cc;
  int *piStack_6c8;
  code *pcStack_6c4;
  code *pcStack_6b0;
  code *pcStack_6a4;
  undefined1 auStack_69c [128];
  undefined1 auStack_61c [128];
  int *piStack_59c;
  undefined1 *puStack_598;
  undefined1 *puStack_594;
  undefined1 *puStack_590;
  undefined4 uStack_58c;
  int *piStack_588;
  int iStack_584;
  int *piStack_580;
  int *piStack_57c;
  int *piStack_578;
  code *pcStack_574;
  code *pcStack_560;
  code *pcStack_554;
  int iStack_550;
  int iStack_54c;
  int *piStack_548;
  code *pcStack_544;
  undefined1 auStack_53c [128];
  undefined1 auStack_4bc [128];
  int iStack_43c;
  int *piStack_438;
  int iStack_434;
  undefined1 *puStack_430;
  int iStack_42c;
  undefined1 *puStack_428;
  int iStack_424;
  int *piStack_420;
  int *piStack_41c;
  int *piStack_418;
  code *pcStack_414;
  code *pcStack_400;
  code *pcStack_3f4;
  int *piStack_3f0;
  code *pcStack_3ec;
  undefined1 auStack_3e4 [128];
  undefined1 auStack_364 [128];
  undefined1 *puStack_2e4;
  undefined1 *puStack_2e0;
  undefined1 *puStack_2dc;
  uint uStack_2d8;
  int iStack_2d4;
  undefined *puStack_2d0;
  undefined1 *puStack_2cc;
  int *piStack_2c8;
  int *piStack_2c4;
  int *piStack_2c0;
  code *pcStack_2bc;
  undefined *puStack_2a8;
  undefined1 auStack_29c [128];
  undefined1 auStack_21c [128];
  int iStack_19c;
  undefined *puStack_198;
  undefined *puStack_194;
  undefined *puStack_190;
  int *piStack_18c;
  undefined *puStack_188;
  undefined *puStack_184;
  int *piStack_180;
  undefined *puStack_17c;
  int iStack_178;
  code *pcStack_174;
  undefined1 *local_144;
  undefined auStack_12c [128];
  undefined auStack_ac [128];
  uint local_2c;
  
  puVar4 = PTR___stack_chk_guard_001464dc;
  puVar2 = PTR___environ_00145154;
  piVar43 = (int *)PTR_job_control_001448a8;
  puVar40 = auStack_ac;
  puVar33 = auStack_12c;
  local_2c = *(uint *)PTR___stack_chk_guard_001464dc;
  (*(code *)PTR_sigemptyset_001462d4)(puVar33);
  (*(code *)PTR_sigaddset_00146364)(puVar33,0x12);
  (*(code *)PTR_sigemptyset_001462d4)(puVar40);
  (*(code *)PTR_sigprocmask_00146514)(1,puVar33,puVar40);
  iVar5 = *piVar43;
  *(undefined4 *)(puVar2 + -0x70d8) = 0;
  *(undefined4 *)(puVar2 + -0x70d4) = 0;
  if ((iVar5 == 0) || ((*(uint *)PTR_subshell_environment_00144674 & 4) != 0)) {
    puVar33 = PTR_LAB_00144ff0 + 0x4a64;
    puVar6 = (undefined *)(*(code *)PTR_set_signal_handler_00144848)(2,PTR_LAB_00144ff0 + 0x4a64);
    unaff_s6 = (int *)PTR___environ_00145154;
    if (puVar6 == puVar33) {
      puVar6 = *(undefined **)(PTR_data_start_00144568 + 0x460);
      *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
    }
    else {
      *(undefined **)(PTR_data_start_00144568 + 0x460) = puVar6;
      *(undefined4 *)((int)unaff_s6 + -0x70dc) = 0;
    }
    if (puVar6 == (undefined *)0x1) {
      (*(code *)PTR_set_signal_handler_00144848)(2,1);
    }
    piVar21 = (int *)PTR_terminating_signal_00144834;
    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;
    if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {
      if (*(int *)PTR_terminating_signal_00144834 != 0) {
        (*(code *)PTR_termsig_handler_00144838)(*(undefined4 *)PTR_terminating_signal_00144834);
      }
      if (*(int *)PTR_interrupt_state_0014483c != 0) {
        (*(code *)PTR_throw_to_top_level_00144840)();
      }
    }
    iVar5 = *piVar21;
  }
  else {
    local_144 = *(undefined1 **)PTR_last_command_exit_value_001445e0;
    iVar5 = *(int *)PTR_terminating_signal_00144834;
    piVar21 = (int *)PTR_terminating_signal_00144834;
  }
  if (iVar5 != 0) {
    (*(code *)PTR_termsig_handler_00144838)(*piVar21);
  }
  puVar3 = PTR_wait_intr_flag_00145168;
  puVar38 = PTR___environ_00145154;
  puVar1 = PTR_wait_builtin_00145150;
  puVar6 = PTR_this_shell_builtin_00144a84;
  if ((((*(int *)PTR_wait_intr_flag_00145168 == 0) ||
       (*(int *)PTR_wait_signal_received_00145164 == 0)) ||
      (*(undefined **)PTR_this_shell_builtin_00144a84 == (undefined *)0x0)) ||
     (puVar35 = puVar40, puVar39 = puVar2,
     *(undefined **)PTR_this_shell_builtin_00144a84 != PTR_wait_builtin_00145150)) {
    unaff_s8 = 0;
    puVar35 = (undefined *)0xffffffff;
    pcVar7 = (code *)(PTR_LAB_00144ff0 + 0x7f78);
    pcVar8 = (code *)(PTR_LAB_00144ff0 + 0x403c);
    do {
      do {
        puVar33 = (undefined *)0xffffffff;
        iVar5 = *(int *)(puVar38 + -0x70dc);
        puVar39 = puVar38;
        if (param_1 == (undefined *)0xffffffff) goto LAB_0006a0c8;
        unaff_s8 = (*pcVar8)(param_1,0,0);
        puVar10 = PTR_MASKED_background_pids_00145158;
        puVar34 = PTR_data_start_00144568;
        if (unaff_s8 == 0) {
          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
          uVar30 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x7cdc,5);
          internal_error(uVar30,param_1);
          puVar40 = *(undefined **)(puVar34 + 0x460);
          if (puVar40 == puVar10) {
            local_144 = (undefined1 *)0x7f;
          }
          else {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            local_144 = (undefined1 *)0x7f;
            *(undefined **)(puVar34 + 0x460) = puVar10;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a040;
        }
        iVar20 = *(int *)(unaff_s8 + 0xc);
        if (puVar35 == puVar33) {
          if (0 < (int)*(undefined **)(PTR_js_00144e58 + 0x18)) {
            puVar33 = (undefined *)0x0;
            param_4 = *(int **)PTR_jobs_00144e5c;
            do {
              iVar9 = *param_4;
              if (iVar9 != 0) {
                piVar45 = *(int **)(iVar9 + 4);
                do {
                  if (param_1 == (undefined *)piVar45[1]) {
                    if (iVar20 == 1) goto LAB_0006a0c0;
                    goto LAB_00069c50;
                  }
                  piVar45 = (int *)*piVar45;
                } while (*(int **)(iVar9 + 4) != piVar45);
              }
              puVar33 = puVar33 + 1;
              param_4 = param_4 + 1;
            } while (*(undefined **)(PTR_js_00144e58 + 0x18) != puVar33);
          }
          iVar5 = *(int *)(puVar38 + -0x70dc);
          if (iVar20 == 1) goto LAB_0006a0c8;
        }
        else {
          puVar33 = puVar35;
          if (iVar20 == 1) {
LAB_0006a0c0:
            iVar5 = *(int *)(puVar38 + -0x70dc);
            puVar35 = puVar33;
          }
          else {
            iVar9 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)puVar35 * 4);
LAB_00069c50:
            iVar5 = *(int *)(puVar38 + -0x70dc);
            puVar35 = puVar33;
            if (*(int *)(iVar9 + 0xc) != 1) goto LAB_00069c60;
          }
LAB_0006a0c8:
          *(undefined4 *)(puVar38 + -0x7040) = 1;
          *(int *)(puVar38 + -0x70dc) = iVar5 + 1;
          iVar5 = (*pcVar7)(1);
          *(undefined4 *)(puVar38 + -0x7040) = 0;
          *(int *)(puVar38 + -0x70dc) = *(int *)(puVar38 + -0x70dc) + -1;
          unaff_s6 = (int *)puVar38;
          if ((iVar5 == -1) &&
             (piVar45 = (int *)(*(code *)PTR___errno_location_0014633c)(),
             puVar10 = PTR_MASKED_background_pids_00145158, puVar33 = PTR_js_00144e58,
             puVar28 = PTR_data_start_00144568, *piVar45 == 10)) {
            if (*(undefined **)puVar6 == puVar1) {
              puVar34 = puVar38;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_MASKED_background_pids_00145158) {
                local_144 = (undefined1 *)0xffffffff;
              }
              else {
                (*(code *)PTR_set_signal_handler_00144848)(2);
                local_144 = (undefined1 *)0xffffffff;
                *(undefined **)(puVar28 + 0x460) = puVar10;
                *(undefined4 *)(puVar38 + -0x70dc) = 0;
              }
              goto LAB_0006a02c;
            }
            if (unaff_s8 != 0) {
              *(undefined4 *)(unaff_s8 + 0xc) = 0;
              *(undefined4 *)(unaff_s8 + 8) = 0;
            }
            *(undefined4 *)(puVar33 + 4) = 0;
            if (puVar35 != (undefined *)0xffffffff) {
              iVar5 = *(int *)(puVar33 + 0x28);
              param_4 = *(int **)PTR_jobs_00144e5c;
              iVar20 = param_4[(int)puVar35];
              *(int *)(puVar33 + 8) = *(int *)(puVar33 + 8) + 1;
              *(undefined4 *)(iVar20 + 0xc) = 4;
              *(int *)(puVar33 + 0x28) = iVar5 + 1;
            }
            if (param_1 == (undefined *)0xffffffff) {
              puVar28 = PTR_data_start_00144568;
              puVar34 = PTR_MASKED_background_pids_00145158;
              piVar45 = (int *)puVar38;
              if (*(undefined **)(PTR_data_start_00144568 + 0x460) ==
                  PTR_MASKED_background_pids_00145158) goto LAB_00069d48;
              goto LAB_00069d30;
            }
          }
        }
LAB_00069c60:
        if ((*(int *)PTR_interactive_00144590 != 0) && (*piVar43 == 0)) {
          if (*piVar21 != 0) {
            (*(code *)PTR_termsig_handler_00144838)(*piVar21);
          }
          if (*(int *)PTR_interrupt_state_0014483c != 0) {
            (*(code *)PTR_throw_to_top_level_00144840)();
          }
        }
        if (*piVar21 != 0) {
          (*(code *)PTR_termsig_handler_00144838)(*piVar21);
        }
        puVar34 = PTR_MASKED_background_pids_00145158;
        puVar28 = PTR_data_start_00144568;
        if ((((*(int *)puVar3 != 0) && (*(int *)PTR_wait_signal_received_00145164 != 0)) &&
            (puVar10 = *(undefined **)puVar6, puVar10 != (undefined *)0x0)) &&
           (puVar33 = puVar38, puVar10 == puVar1)) goto LAB_0006a708;
        if (param_1 == (undefined *)0xffffffff) {
          puVar10 = puVar35;
          if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
              PTR_MASKED_background_pids_00145158) {
            (*(code *)PTR_set_signal_handler_00144848)(2);
            *(undefined **)(puVar28 + 0x460) = puVar34;
            *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
          }
          goto LAB_0006a02c;
        }
      } while (*(int *)(unaff_s8 + 0xc) == 1);
      if (puVar35 == (undefined *)0xffffffff) {
        if (*(undefined **)(PTR_data_start_00144568 + 0x460) !=
            PTR_MASKED_background_pids_00145158) {
          (*(code *)PTR_set_signal_handler_00144848)(2);
          *(undefined **)(puVar28 + 0x460) = puVar34;
          *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
        }
        goto LAB_0006a2e0;
      }
      unaff_s6 = (int *)((int)puVar35 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar20 = *(int *)(iVar5 + 0xc);
      param_4 = (int *)PTR_jobs_00144e5c;
    } while (iVar20 == 1);
    piVar45 = (int *)PTR___environ_00145154;
    if (*(undefined **)(PTR_data_start_00144568 + 0x460) == PTR_MASKED_background_pids_00145158) {
LAB_00069d68:
      param_4 = (int *)PTR_jobs_00144e5c;
      local_144 = (undefined1 *)job_exit_status(puVar35);
      uVar11 = FUN_000641bc(puVar35);
      uVar11 = uVar11 & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        uVar11 = 0;
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      puVar33 = PTR_subshell_environment_00144674;
      if (iVar20 == 2) {
        uVar11 = *(uint *)(unaff_s8 + 8);
LAB_0006a460:
        local_144 = (undefined1 *)(((uVar11 << 0x10) >> 0x18) + 0x80);
LAB_00069ddc:
        iVar5 = *(int *)(*param_4 + (int)unaff_s6);
      }
      else if (unaff_s8 != 0) {
        uVar11 = *(uint *)(unaff_s8 + 8);
        if ((uVar11 & 0xff) == 0x7f) goto LAB_0006a460;
        goto LAB_00069ddc;
      }
      uVar11 = *(uint *)PTR_subshell_environment_00144674;
      if (((*(uint *)(iVar5 + 0x10) & 4) != 0) && (*(int *)PTR_running_in_background_001446f0 == 0))
      {
        if ((uVar11 & 0x11) == 0) {
          give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
          uVar11 = *(uint *)puVar33;
        }
        else {
          uVar11 = *(uint *)PTR_subshell_environment_00144674;
        }
      }
      piVar21 = (int *)PTR_interactive_shell_00144598;
      if (*(int *)PTR_interactive_shell_00144598 != 0) {
        if (uVar11 == 0) {
          iVar5 = *(int *)(*param_4 + (int)unaff_s6);
          piVar45 = *(int **)(iVar5 + 4);
          do {
            puVar34 = (undefined *)(piVar45[2] & 0x7f);
            puVar28 = (undefined *)((int)(char)((char)puVar34 + '\x01') >> 1);
            if ((0 < (int)puVar28) || ((piVar45[2] & 0xffU) == 0x7f)) {
              set_tty_state();
              if (*(int *)PTR_check_window_size_00144af0 == 0) goto LAB_00069ee4;
              if ((*(undefined **)(PTR_js_00144e58 + 0x2c) != puVar35) &&
                 (iVar5 = *(int *)(*param_4 + (int)unaff_s6), (*(uint *)(iVar5 + 0x10) & 1) == 0))
              goto LAB_00069ef0;
              (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
              goto LAB_00069ee4;
            }
            piVar45 = (int *)*piVar45;
          } while (*(int **)(iVar5 + 4) != piVar45);
          if ((*(uint *)PTR_rl_readline_state_00144658 & 0x4000) == 0) {
            get_tty_state();
LAB_00069ee4:
            iVar5 = *(int *)(*param_4 + (int)unaff_s6);
          }
LAB_00069ef0:
          if ((((*piVar43 == 0) || ((*(uint *)(iVar5 + 0x10) & 5) != 5)) || ((int)puVar28 < 1)) ||
             (puVar34 != (undefined *)0x2)) goto LAB_0006a008;
          iVar5 = signal_is_trapped(2);
          param_1 = puVar28;
          if ((((iVar5 == 0) &&
               ((piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0
                || ((0x20 < *(int *)PTR_shell_compatibility_level_00144898 &&
                    (*(int *)PTR_executing_list_00144cc0 != 0)))))) ||
              ((iVar5 = signal_is_trapped(2), puVar33 = PTR_stdout_001462f8, iVar5 != 0 &&
               (piVar45 = (int *)PTR_interrupt_state_0014483c, *(int *)PTR_loop_level_00144dc4 != 0)
               ))) || (((*piVar21 != 0 && (iVar5 = signal_is_trapped(2), iVar5 == 0)) &&
                       (piVar45 = (int *)PTR_interrupt_state_0014483c, param_1 = puVar33,
                       *(int *)PTR_sourcelevel_00144d2c != 0)))) goto LAB_0006a714;
          puVar28 = PTR_stdout_001462f8;
          (*(code *)PTR_putc_0014629c)(10,*(undefined4 *)PTR_stdout_001462f8);
          (*(code *)PTR_fflush_00146520)(*(undefined4 *)puVar28);
        }
        else if ((uVar11 & 0x14) != 0) {
          iVar5 = *(int *)(puVar2 + -0x70d4);
          goto LAB_0006a3ac;
        }
LAB_00069ffc:
        unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
        iVar5 = *unaff_s6;
LAB_0006a008:
        iVar20 = *(int *)(iVar5 + 0xc);
        param_1 = puVar28;
        goto LAB_0006a00c;
      }
      if ((uVar11 & 0x14) != 0) {
        iVar5 = *(int *)(puVar2 + -0x70d4);
LAB_0006a3ac:
        if (((iVar5 != 0) && (*(int *)(puVar2 + -0x70d8) == 0)) &&
           (iVar5 = signal_is_trapped(2), iVar5 == 0)) {
          (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
          iVar5 = (*(code *)PTR_set_signal_handler_00144848)(2,0);
          *(int *)(puVar28 + 0x460) = iVar5;
          if (iVar5 == 1) {
            if (puVar34 != (undefined *)0x1) {
              (*(code *)PTR_set_signal_handler_00144848)(2,1);
              *(undefined **)(puVar28 + 0x460) = puVar34;
              unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
              iVar5 = *unaff_s6;
              *(undefined4 *)(PTR___environ_00145154 + -0x70dc) = 0;
              goto LAB_0006a008;
            }
          }
          else {
            uVar30 = (*(code *)PTR_getpid_0014640c)();
            (*(code *)PTR_kill_001463b8)(uVar30,2);
          }
        }
        goto LAB_00069ffc;
      }
      iVar5 = *(int *)(*param_4 + (int)unaff_s6);
      if (uVar11 != 0) goto LAB_0006a008;
      if ((*(uint *)(iVar5 + 0x10) & 1) != 0) {
        piVar45 = *(int **)(iVar5 + 4);
        do {
          uVar11 = piVar45[2] & 0x7f;
          cVar15 = (char)((char)uVar11 + '\x01') >> 1;
          if (('\0' < cVar15) || ((piVar45[2] & 0xffU) == 0x7f)) break;
          piVar45 = (int *)*piVar45;
        } while (*(int **)(iVar5 + 4) != piVar45);
        if (((*piVar43 != 0) && ((*(uint *)(iVar5 + 0x10) & 4) != 0)) &&
           (('\0' < cVar15 && (uVar11 == 2)))) {
          *(int *)PTR_interrupt_state_0014483c = *(int *)PTR_interrupt_state_0014483c + 1;
        }
        if (*(int *)PTR_check_window_size_00144af0 != 0) {
          (*(code *)PTR_get_new_window_size_00144984)(0,0,0);
          goto LAB_00069ffc;
        }
        param_1 = puVar28;
        if (*(int *)(iVar5 + 0xc) != 4) goto LAB_0006a01c;
        goto LAB_0006a528;
      }
      goto LAB_0006a01c;
    }
LAB_00069d30:
    puVar34 = PTR_MASKED_background_pids_00145158;
    puVar28 = PTR_data_start_00144568;
    (*(code *)PTR_set_signal_handler_00144848)(2);
    *(undefined **)(puVar28 + 0x460) = puVar34;
    piVar45[-0x1c37] = 0;
    unaff_s6 = piVar45;
LAB_00069d48:
    if (puVar35 != (undefined *)0xffffffff) {
      unaff_s6 = (int *)((int)puVar35 * 4);
      iVar5 = *(int *)(*(int *)PTR_jobs_00144e5c + (int)unaff_s6);
      iVar20 = *(int *)(iVar5 + 0xc);
      goto LAB_00069d68;
    }
    if (unaff_s8 == 0) {
      local_144 = (undefined1 *)0x0;
      *(undefined4 *)PTR_last_command_exit_signal_0014519c = 0;
    }
    else {
LAB_0006a2e0:
      uVar19 = *(uint *)(unaff_s8 + 8);
      uVar11 = uVar19 & 0x7f;
      if ((char)((char)uVar11 + '\x01') >> 1 < '\x01') {
        local_144 = (undefined1 *)FUN_00064cec(uVar19);
        uVar11 = 0;
      }
      else {
        local_144 = (undefined1 *)(uVar11 + 0x80);
      }
      *(uint *)PTR_last_command_exit_signal_0014519c = uVar11;
      if ((uVar19 & 0xff) == 0x7f) {
        local_144 = (undefined1 *)(((uVar19 << 0x10) >> 0x18) + 0x80);
      }
    }
    puVar10 = puVar35;
    if ((*(uint *)PTR_subshell_environment_00144674 & 0x11) == 0 &&
        *(int *)PTR_running_in_background_001446f0 == 0) {
      give_terminal_to(*(undefined4 *)PTR_shell_pgrp_001448ac,0);
    }
  }
  else {
LAB_0006a708:
    puVar34 = puVar33;
    piVar45 = (int *)0x1;
    (*(code *)PTR___longjmp_chk_001462e4)(PTR_wait_intr_buf_0014516c);
LAB_0006a714:
    unaff_s6 = (int *)(*param_4 + (int)unaff_s6);
    iVar5 = *unaff_s6;
    *piVar45 = *piVar45 + 1;
    iVar20 = *(int *)(iVar5 + 0xc);
LAB_0006a00c:
    puVar28 = param_1;
    puVar38 = puVar39;
    if ((iVar20 == 4) && ((*(uint *)(iVar5 + 0x10) & 1) != 0)) {
LAB_0006a528:
      FUN_00064d0c(puVar35);
      puVar28 = param_1;
      puVar38 = puVar39;
    }
LAB_0006a01c:
    notify_and_cleanup();
    puVar10 = puVar35;
  }
LAB_0006a02c:
  (*(code *)PTR_sigprocmask_00146514)(3,puVar40,0);
  param_1 = puVar28;
LAB_0006a040:
  if (local_2c == *(uint *)puVar4) {
    return local_144;
  }
  pcVar7 = MASKED_single_pid;
  uVar11 = local_2c;
  puVar33 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_2a8 = puVar33 + 0xe1e00;
  piVar45 = *(int **)(puVar33 + 0xdbd9c);
  puStack_17c = (undefined *)piVar43;
  iStack_19c = *piVar45;
  puStack_198 = param_1;
  puStack_194 = puVar34;
  puStack_190 = puVar10;
  piStack_18c = piVar21;
  puStack_188 = puVar38;
  puStack_184 = puVar3;
  piStack_180 = unaff_s6;
  iStack_178 = unaff_s8;
  pcStack_174 = pcVar7;
  (**(code **)(puVar33 + 0xdbb94))(auStack_29c);
  (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
  (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
  (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
  iVar5 = FUN_0006403c(uVar11,0,0);
  (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
  if (iVar5 == 0) {
    piVar21 = *(int **)(puStack_2a8 + -0x7408);
    iVar20 = *piVar21;
    iVar5 = 0;
    if (((iVar20 != 0) && (piVar21[2] != 0)) && (piVar21[3] != 0)) {
      iVar9 = *(int *)(*(int *)(puStack_2a8 + -0x7404) + (uVar11 & 0xfff) * 4);
      if (iVar9 != -1) {
        piVar21 = (int *)(iVar20 + iVar9 * 0x10);
        if (uVar11 == piVar21[2]) {
LAB_0006aaf8:
          puVar12 = (undefined1 *)(int)*(short *)(piVar21 + 3);
          if (-1 < (int)puVar12) goto LAB_0006a9b0;
        }
        else {
          iVar41 = *piVar21;
          while (iVar9 != iVar41) {
            if (iVar41 == -1) goto LAB_0006aae8;
            piVar21 = (int *)(iVar20 + iVar41 * 0x10);
            if (uVar11 == piVar21[2]) goto LAB_0006aaf8;
            iVar41 = *piVar21;
          }
          internal_warning(*(int *)(puStack_2a8 + -0x7fc8) + 32000);
        }
      }
    }
LAB_0006aae8:
    puVar40 = (undefined *)((uint)puVar40 & 1);
    if (puVar40 == (undefined *)0x0) {
      puVar12 = (undefined1 *)0x7f;
    }
    else {
      puVar12 = (undefined1 *)0x7f;
      uVar30 = (**(code **)(puStack_2a8 + -0x60a8))(0,*(int *)(puStack_2a8 + -0x7fc8) + 0x7d38,5);
      internal_error(uVar30,uVar11);
    }
  }
  else {
    unaff_s6 = *(int **)(puStack_2a8 + -0x77a4);
    puVar40 = (undefined *)((uint)puVar40 & 2);
    piVar43 = (int *)0x7f;
    puVar12 = (undefined1 *)MASKED(uVar11);
    while (puVar40 != (undefined *)0x0) {
      (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
      (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
      (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
      (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
      if ((*(int *)(iVar5 + 0xc) != 1) && (*(char *)(iVar5 + 0xb) != '\x7f')) {
        (**(code **)(puStack_2a8 + -0x602c))(3,auStack_21c,0);
        break;
      }
      (**(code **)(puStack_2a8 + -0x602c))();
      puVar12 = (undefined1 *)MASKED(uVar11);
    }
    iVar5 = *(int *)(puStack_2a8 + -0x76e8);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_29c);
    (**(code **)(puStack_2a8 + -0x61dc))(auStack_29c,0x12);
    (**(code **)(puStack_2a8 + -0x626c))(auStack_21c);
    (**(code **)(puStack_2a8 + -0x602c))(1,auStack_29c,auStack_21c);
    if (0 < *(int *)(iVar5 + 0x18)) {
      iVar20 = 0;
      piVar21 = (int *)**(undefined4 **)(puStack_2a8 + -0x76e4);
      do {
        iVar9 = *piVar21;
        if (iVar9 != 0) {
          piVar44 = *(int **)(iVar9 + 4);
          uVar19 = piVar44[1];
          piVar29 = piVar44;
          while( true ) {
            if (uVar11 == uVar19) {
              pcVar7 = *(code **)(puStack_2a8 + -0x602c);
              if (*(int *)(iVar9 + 0xc) == 4) {
                *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 2;
              }
              goto LAB_0006a950;
            }
            piVar29 = (int *)*piVar29;
            if (piVar44 == piVar29) break;
            uVar19 = piVar29[1];
          }
        }
        iVar20 = iVar20 + 1;
        piVar21 = piVar21 + 1;
      } while (iVar20 != *(int *)(iVar5 + 0x18));
    }
    pcVar7 = *(code **)(puStack_2a8 + -0x602c);
LAB_0006a950:
    (*pcVar7)(3,auStack_21c,0);
    if (**(int **)(puStack_2a8 + -0x7fb4) != 0) {
      if ((*(int *)(iVar5 + 0x18) != 0) &&
         (*(int *)(*(int *)(puStack_2a8 + -0x73ec) + -0x705c) == 0)) {
        FUN_00068b60();
      }
      FUN_000648c0(uVar11);
    }
  }
LAB_0006a9b0:
  if (iStack_19c == *piVar45) {
    return puVar12;
  }
  pcVar7 = *(code **)(puStack_2a8 + -0x60b8);
  pcVar8 = MASKED_background_pids;
  (*pcVar7)();
  pcStack_400 = pcVar7 + 0xe19dc;
  piStack_3f0 = *(int **)(pcVar7 + 0xdb978);
  iVar20 = *(int *)(pcVar7 + 0xda48c);
  pcStack_3f4 = (code *)(iVar20 + 0x5a6c);
  iVar9 = *(int *)(pcVar7 + 0xd9a14);
  puStack_2e4 = (undefined1 *)*piStack_3f0;
  pcStack_3ec = (code *)(*(int *)(pcVar7 + 0xda48c) + 0x4e60);
  iVar41 = *(int *)(pcVar7 + 0xda2f4);
  piVar21 = *(int **)(pcVar7 + 0xda2f8);
  puStack_2e0 = auStack_29c;
  puStack_2dc = auStack_21c;
  uStack_2d8 = uVar11;
  iStack_2d4 = iVar5;
  puStack_2d0 = puVar40;
  puStack_2cc = puVar12;
  piStack_2c8 = unaff_s6;
  piStack_2c4 = piVar43;
  piStack_2c0 = piVar45;
  pcStack_2bc = pcVar8;
LAB_0006abe0:
  do {
    pcVar7 = *(code **)(pcStack_400 + -0x626c);
    do {
      piVar29 = (int *)0x0;
      (*pcVar7)(auStack_3e4);
      (**(code **)(pcStack_400 + -0x61dc))(auStack_3e4,0x12);
      (**(code **)(pcStack_400 + -0x626c))(auStack_364);
      (**(code **)(pcStack_400 + -0x602c))(1,auStack_3e4,auStack_364);
      piVar45 = *(int **)(iVar41 + 0x18);
      pcVar7 = pcStack_400;
      if (0 < (int)piVar45) {
        iVar20 = 2;
        do {
          piVar43 = (int *)((int)piVar29 * 4);
          iVar5 = *(int *)(*piVar21 + (int)piVar43);
          if (iVar5 != 0) {
            iVar16 = *(int *)(iVar5 + 0xc);
            if (iVar16 == 2) {
              iVar5 = (*pcStack_3f4)(piVar29);
              (**(code **)(pcStack_400 + -0x7354))
                        (iVar9 + 0x7d64,(int)piVar29 + 1,*(undefined4 *)(iVar5 + 4));
              piVar43 = (int *)(*piVar21 + (int)piVar43);
              iVar5 = *piVar43;
              pcVar7 = pcStack_400;
              if (iVar5 == 0) goto LAB_0006ac6c;
              iVar16 = *(int *)(iVar5 + 0xc);
            }
            unaff_s6 = (int *)((int)piVar29 + 1);
            if ((iVar16 == 1) && ((*(uint *)(iVar5 + 0x10) & 1) == 0)) {
              if (piVar29 != *(int **)(iVar41 + 0x18)) goto LAB_0006ac88;
              pcVar7 = *(code **)(pcVar7 + -0x602c);
              goto LAB_0006ad54;
            }
          }
LAB_0006ac6c:
          piVar29 = (int *)((int)piVar29 + 1);
          piVar45 = *(int **)(iVar41 + 0x18);
          unaff_s6 = piVar29;
        } while ((int)piVar29 < (int)piVar45);
      }
      pcVar7 = *(code **)(pcVar7 + -0x602c);
      if (piVar29 == piVar45) {
LAB_0006ad54:
        puVar12 = auStack_364;
        (*pcVar7)(3,auStack_364,0);
        if ((**(int **)(pcStack_400 + -0x73fc) != 0) &&
           (*(int *)(**(int **)(pcStack_400 + -0x73fc) + 4) != -1)) {
          MASKED();
        }
        wait_procsubs();
        reap_procsubs();
        iVar5 = 1;
        FUN_00065adc();
        if ((*(int *)(iVar41 + 0x18) != 0) &&
           (*(int *)(*(int *)(pcStack_400 + -0x73ec) + -0x705c) == 0)) {
          FUN_00068b60();
        }
        FUN_000645ac();
        if (puStack_2e4 == (undefined1 *)*piStack_3f0) {
          return (undefined1 *)*piStack_3f0;
        }
        pcVar7 = *(code **)(pcStack_400 + -0x60b8);
        pcVar8 = MASKED_job;
        (*pcVar7)();
        pcStack_560 = pcVar7 + 0xe1688;
        piStack_548 = *(int **)(pcVar7 + 0xdb624);
        puVar31 = auStack_53c;
        piVar44 = (int *)(iVar5 * 4);
        iStack_43c = *piStack_548;
        piVar45 = *(int **)(pcVar7 + 0xd9fa4);
        piStack_438 = piVar29;
        iStack_434 = iVar20;
        puStack_430 = auStack_364;
        iStack_42c = iVar9 + 0x7d64;
        puStack_428 = auStack_3e4;
        iStack_424 = iVar41;
        piStack_420 = unaff_s6;
        piStack_41c = piVar43;
        piStack_418 = piVar21;
        pcStack_414 = pcVar8;
        (**(code **)(pcVar7 + 0xdb41c))(puVar31);
        (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
        (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
        (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
        if (*(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc) == 2) {
          uVar30 = (**(code **)(pcStack_560 + -0x60a8))
                             (0,*(int *)(pcStack_560 + -0x7fc8) + 0x7d78,5);
          internal_warning(uVar30,iVar5 + 1);
        }
        pcStack_554 = *(code **)(pcStack_560 + -0x77a4);
        piVar43 = (int *)0xffffffff;
        piVar21 = (int *)((uint)puVar12 & 2);
        iStack_54c = *(int *)(pcStack_560 + -0x76e8);
        iVar20 = FUN_00065a6c(iVar5);
        piVar29 = *(int **)(iVar20 + 4);
        (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
        pcStack_544 = (code *)(*(int *)(pcStack_560 + -0x7550) + 0x4e60);
        goto LAB_0006afd8;
      }
LAB_0006ac88:
      iVar5 = (*pcStack_3f4)(piVar29);
      uVar30 = *(undefined4 *)(iVar5 + 4);
      (**(code **)(pcStack_400 + -0x602c))(3,auStack_364,0);
      if (**(int **)(pcStack_400 + -0x7d0c) != 0) {
        (**(code **)(pcStack_400 + -0x7d08))(**(int **)(pcStack_400 + -0x7d0c));
      }
      if (**(int **)(pcStack_400 + -0x7d04) != 0) {
        (**(code **)(pcStack_400 + -32000))();
      }
      unaff_s6 = (int *)(**(code **)(pcStack_400 + -0x6204))();
      *unaff_s6 = 0;
      iVar5 = MASKED_single_pid(uVar30,1);
      if (iVar5 != -1) goto LAB_0006abe0;
      pcVar7 = *(code **)(pcStack_400 + -0x626c);
    } while ((*unaff_s6 != 10) || (*(int *)(iVar41 + 0x18) == 0));
    (*pcStack_3ec)();
  } while( true );
LAB_0006b3b8:
  puVar13 = (undefined1 *)job_exit_status(piVar45);
  if (((piVar26 == (int *)0x0) || (FUN_00065dcc(), *(int *)(puVar12 + 0x18) != 0)) &&
     (*(int *)(iVar20 + -0x705c) == 0)) {
    FUN_00066b6c(piVar45,0);
  }
  (**(code **)(pcStack_6b0 + -0x737c))();
  (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
  goto LAB_0006b430;
  while( true ) {
    iStack_550 = *(int *)(*(int *)(*piVar45 + (int)piVar44) + 0xc);
    (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc);
    if (iStack_550 == 4) break;
LAB_0006afd8:
    puVar12 = (undefined1 *)(*pcStack_554)(piVar29);
    if (((puVar12 == (undefined1 *)0xffffffff) &&
        (piVar26 = (int *)(**(code **)(pcStack_560 + -0x6204))(), *piVar26 == 10)) &&
       (*(int *)(iStack_54c + 0x18) != 0)) {
      (*pcStack_544)();
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    else {
      pcVar7 = *(code **)(pcStack_560 + -0x626c);
    }
    if (piVar21 == (int *)0x0) {
      (*pcVar7)(puVar31);
      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
      if (iVar5 != -1) goto LAB_0006b0d0;
      pcVar7 = *(code **)(pcStack_560 + -0x602c);
      goto LAB_0006b0f4;
    }
    (*pcVar7)();
    (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
    (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
    (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
    if (iVar5 == -1) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      (**(code **)(pcStack_560 + -0x626c))(puVar31);
      (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
      (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
      (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
      goto LAB_0006b0f0;
    }
    if (*(int *)(*piVar45 + (int)piVar44) == 0) {
      (**(code **)(pcStack_560 + -0x602c))(3,auStack_4bc,0);
      break;
    }
  }
  (**(code **)(pcStack_560 + -0x626c))(puVar31);
  (**(code **)(pcStack_560 + -0x61dc))(puVar31,0x12);
  (**(code **)(pcStack_560 + -0x626c))(auStack_4bc);
  (**(code **)(pcStack_560 + -0x602c))(1,puVar31,auStack_4bc);
LAB_0006b0d0:
  piVar44 = (int *)(*piVar45 + (int)piVar44);
  iVar20 = *piVar44;
  if ((iVar20 != 0) && (*(int *)(iVar20 + 0xc) == 4)) {
    *(uint *)(iVar20 + 0x10) = *(uint *)(iVar20 + 0x10) | 2;
  }
LAB_0006b0f0:
  pcVar7 = *(code **)(pcStack_560 + -0x602c);
LAB_0006b0f4:
  (*pcVar7)(3,auStack_4bc,0);
  if (iStack_43c == *piStack_548) {
    return puVar12;
  }
  pcVar7 = *(code **)(pcStack_560 + -0x60b8);
  pcVar8 = MASKED_any_job;
  (*pcVar7)();
  pcStack_6b0 = pcVar7 + 0xe1290;
  iVar20 = *(int *)(pcVar7 + 0xd9ea4);
  puVar42 = *(undefined4 **)(pcVar7 + 0xdb22c);
  uStack_58c = 0xffffffff;
  piStack_59c = (int *)*puVar42;
  puStack_598 = puVar31;
  puStack_594 = auStack_4bc;
  puStack_590 = puVar12;
  piStack_588 = piVar21;
  iStack_584 = iVar5;
  piStack_580 = piVar29;
  piStack_57c = piVar44;
  piStack_578 = piVar45;
  pcStack_574 = pcVar8;
  if (*(int *)(iVar20 + -0x705c) == 0) {
    puVar13 = auStack_69c;
    puVar12 = *(undefined1 **)(pcVar7 + 0xd9ba8);
    puVar31 = auStack_61c;
    (**(code **)(pcVar7 + 0xdb024))(puVar13);
    (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
    (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
    (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
    if (0 < (int)*(int **)(puVar12 + 0x18)) {
      piVar45 = (int *)0x0;
      piVar26 = (int *)**(int **)(pcStack_6b0 + -0x76e4);
      piVar44 = piVar26;
      do {
        iVar5 = *piVar44;
        if (((iVar5 != 0) && (*(int *)(iVar5 + 0xc) == 4)) && ((*(uint *)(iVar5 + 0x10) & 2) == 0))
        goto LAB_0006b3b8;
        piVar45 = (int *)((int)piVar45 + 1);
        piVar44 = piVar44 + 1;
      } while (piVar45 != *(int **)(puVar12 + 0x18));
    }
    piVar21 = *(int **)(pcStack_6b0 + -0x76e4);
    piVar43 = *(int **)(pcStack_6b0 + -0x7d0c);
    (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
    piVar45 = *(int **)(pcStack_6b0 + -0x7550);
    piVar29 = *(int **)(pcStack_6b0 + -0x7d04);
    pcStack_6a4 = (code *)(piVar45 + 0x1398);
    do {
      (**(code **)(pcStack_6b0 + -0x626c))(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
      iVar5 = *(int *)(puVar12 + 0x18);
      if (iVar5 < 1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
        if (iVar5 == 0) {
LAB_0006b680:
          (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
          puVar13 = (undefined1 *)0xffffffff;
          goto LAB_0006b430;
        }
      }
      else {
        piVar44 = (int *)*piVar21;
        iVar9 = 0;
        while (((iVar41 = *piVar44, iVar41 == 0 || (*(int *)(iVar41 + 0xc) != 1)) ||
               ((*(uint *)(iVar41 + 0x10) & 1) != 0))) {
          iVar9 = iVar9 + 1;
          piVar44 = piVar44 + 1;
          if (iVar9 == iVar5) goto LAB_0006b680;
        }
        pcVar7 = *(code **)(pcStack_6b0 + -0x602c);
      }
      (*pcVar7)(3,puVar31,0);
      if (*piVar43 == 0) {
        pcVar7 = *(code **)(pcStack_6b0 + -32000);
        if (*piVar29 == 0) goto LAB_0006b564;
LAB_0006b6f0:
        (*pcVar7)();
        if (*piVar43 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
          goto LAB_0006b708;
        }
      }
      else {
        (**(code **)(pcStack_6b0 + -0x7d08))(*piVar43);
        if (*piVar29 != 0) {
          pcVar7 = *(code **)(pcStack_6b0 + -32000);
          goto LAB_0006b6f0;
        }
LAB_0006b564:
        pcVar7 = *(code **)(pcStack_6b0 + -0x7d08);
        if (*piVar43 != 0) {
LAB_0006b708:
          (*pcVar7)(*piVar43);
        }
      }
      if (**(int **)(pcStack_6b0 + -0x73d8) == 0) {
LAB_0006b5a4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
      }
      else {
        pcVar7 = *(code **)(pcStack_6b0 + -0x6204);
        if (**(int **)(pcStack_6b0 + -0x73dc) != 0) {
          if (**(int **)(pcStack_6b0 + -0x7abc) != 0) {
            piVar44 = *(int **)(pcStack_6b0 + -0x73d4);
            pcVar7 = pcStack_6b0;
            if (**(int **)(pcStack_6b0 + -0x7abc) != *(int *)(pcStack_6b0 + -0x73f0))
            goto LAB_0006b5a4;
            goto LAB_0006b730;
          }
        }
      }
      piVar45 = (int *)(*pcVar7)();
      *piVar45 = 0;
      iVar5 = MASKED(0xffffffff);
      if (iVar5 == -1) {
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
        if ((*piVar45 == 10) && (*(int *)(puVar12 + 0x18) != 0)) {
          (*pcStack_6a4)();
          goto LAB_0006b5d4;
        }
      }
      else {
LAB_0006b5d4:
        pcVar7 = *(code **)(pcStack_6b0 + -0x626c);
      }
      (*pcVar7)(puVar13);
      (**(code **)(pcStack_6b0 + -0x61dc))(puVar13,0x12);
      (**(code **)(pcStack_6b0 + -0x626c))(puVar31);
      (**(code **)(pcStack_6b0 + -0x602c))(1,puVar13,puVar31);
      if (0 < (int)*(int **)(puVar12 + 0x18)) {
        piVar26 = (int *)*piVar21;
        piVar45 = (int *)0x0;
        piVar44 = piVar26;
        do {
          if ((*piVar44 != 0) && (*(int *)(*piVar44 + 0xc) == 4)) goto LAB_0006b3b8;
          piVar45 = (int *)((int)piVar45 + 1);
          piVar44 = piVar44 + 1;
        } while (*(int **)(puVar12 + 0x18) != piVar45);
      }
      (**(code **)(pcStack_6b0 + -0x602c))(3,puVar31,0);
    } while( true );
  }
  puVar13 = (undefined1 *)0xffffffff;
LAB_0006b430:
  pcVar7 = pcStack_6b0;
  if (piStack_59c == (int *)*puVar42) {
    return puVar13;
  }
  piVar44 = piStack_59c;
  (**(code **)(pcStack_6b0 + -0x60b8))();
LAB_0006b730:
  pcVar7 = *(code **)(pcVar7 + -0x625c);
  pcVar8 = start_job;
  puVar22 = (undefined4 *)0x1;
  (*pcVar7)();
  piVar26 = *(int **)(pcVar7 + 0xdada0);
  iVar5 = (int)piVar44 * 4;
  iStack_6ec = *piVar26;
  piVar36 = *(int **)(pcVar7 + 0xd9720);
  puStack_6e8 = puVar31;
  puStack_6e4 = puVar13;
  puStack_6e0 = puVar12;
  piStack_6dc = piVar43;
  piStack_6d8 = piVar21;
  puStack_6d4 = puVar42;
  piStack_6d0 = piVar29;
  iStack_6cc = iVar20;
  piStack_6c8 = piVar45;
  pcStack_6c4 = pcVar8;
  (**(code **)(pcVar7 + 0xdab98))(auStack_7ec);
  (**(code **)(pcVar7 + 0xdac28))(auStack_7ec,0x12);
  (**(code **)(pcVar7 + 0xdab98))(auStack_76c);
  (**(code **)(pcVar7 + 0xdadd8))(1,auStack_7ec,auStack_76c);
  iVar20 = *(int *)(*(int *)(*piVar36 + iVar5) + 0xc);
  if (iVar20 == 4) {
    puVar12 = (undefined1 *)0xffffffff;
    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7d9c,5);
    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec));
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else if (puVar22 == (undefined4 *)0x0) {
    if (iVar20 != 1) {
      uStack_7f4 = FUN_000649c8();
      iVar9 = *(int *)(*piVar36 + iVar5);
      iVar41 = **(int **)(pcVar7 + 0xd8e50);
      *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffd;
      if (iVar41 == 0) {
        if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x2c) == piVar44) {
          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7144;
        }
        else {
          if (*(int **)(*(int *)(pcVar7 + 0xd971c) + 0x30) != piVar44) goto LAB_0006b860;
          iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7d98;
        }
      }
      else {
LAB_0006b860:
        iVar41 = *(int *)(pcVar7 + 0xd8e3c) + 0x7b04;
      }
      piVar43 = *(int **)(iVar9 + 4);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7dd8,(int)piVar44 + 1,iVar41)
      ;
      piVar21 = *(int **)(*(int *)(*piVar36 + iVar5) + 4);
      goto LAB_0006b898;
    }
    uVar30 = (**(code **)(pcVar7 + 0xdad5c))(0,*(int *)(pcVar7 + 0xd8e3c) + 0x7db4,5);
    internal_error(uVar30,**(undefined4 **)(pcVar7 + 0xd8fec),(int)piVar44 + 1);
LAB_0006b9dc:
    puVar12 = (undefined1 *)0x0;
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
  }
  else {
    uStack_7f4 = FUN_000649c8();
    *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =
         *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffd;
    FUN_00064368(piVar44);
    iVar9 = *(int *)(*piVar36 + iVar5);
    piVar21 = *(int **)(iVar9 + 4);
    *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) | 1;
    piVar43 = piVar21;
LAB_0006b898:
    iVar41 = *(int *)(pcVar7 + 0xd8e3c);
    iVar9 = *(int *)(pcVar7 + 0xd8e70);
    iVar16 = *(int *)(pcVar7 + 0xd8e3c);
    do {
      iVar24 = piVar43[4];
      if (piVar43[4] == 0) {
        iVar24 = iVar9 + -0x6800;
      }
      iVar27 = iVar16 + 0x6720;
      if ((int *)*piVar43 == piVar21) {
        iVar27 = iVar9 + -0x6800;
      }
      (**(code **)(pcVar7 + 0xdabb0))(1,iVar41 + 0x6298,iVar24,iVar27);
      piVar43 = (int *)*piVar43;
      puVar42 = *(undefined4 **)(*piVar36 + iVar5);
      piVar21 = (int *)puVar42[1];
    } while (piVar21 != piVar43);
    if (puVar22 == (undefined4 *)0x0) {
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7b74);
      puVar42 = *(undefined4 **)(*piVar36 + iVar5);
    }
    uVar30 = *puVar42;
    iVar9 = (**(code **)(pcVar7 + 0xdae0c))(uStack_7f4,uVar30);
    if (iVar9 != 0) {
      uVar30 = (**(code **)(pcVar7 + 0xd9234))(uVar30);
      (**(code **)(pcVar7 + 0xdabb0))(1,*(int *)(pcVar7 + 0xd8e3c) + 0x7de0,uVar30);
    }
    (**(code **)(pcVar7 + 0xdac04))(10);
    if (iVar20 == 1) {
      if (puVar22 == (undefined4 *)0x0) {
        *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) =
             *(uint *)(*(int *)(*piVar36 + iVar5) + 0x10) & 0xfffffffe;
        goto LAB_0006b9c8;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      puVar37 = (undefined4 *)(iVar9 + -0x70d0);
      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      puVar42 = puVar37;
      puVar17 = puVar32;
      do {
        puVar14 = puVar42 + 4;
        puVar18 = puVar17 + 4;
        uVar25 = puVar42[1];
        uVar23 = puVar42[2];
        uVar30 = puVar42[3];
        *puVar17 = *puVar42;
        puVar17[1] = uVar25;
        puVar17[2] = uVar23;
        puVar17[3] = uVar30;
        puVar42 = puVar14;
        puVar17 = puVar18;
      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));
      iVar9 = *piVar36;
      *puVar18 = *puVar14;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) != 0) goto LAB_0006bce0;
    }
    else {
      iVar9 = *(int *)(*piVar36 + iVar5);
      piVar21 = *(int **)(iVar9 + 4);
      piVar43 = piVar21;
      do {
        if (*(char *)((int)piVar43 + 0xb) == '\x7f') {
          piVar43[3] = 1;
        }
        piVar43 = (int *)*piVar43;
      } while (piVar21 != piVar43);
      *(undefined4 *)(iVar9 + 0xc) = 1;
      if (puVar22 == (undefined4 *)0x0) {
        pcVar8 = *(code **)(pcVar7 + 0xdad38);
        *(uint *)(iVar9 + 0x10) = *(uint *)(iVar9 + 0x10) & 0xfffffffe | 2;
        (*pcVar8)(*(undefined4 *)(iVar9 + 8),0x19);
LAB_0006b9c8:
        FUN_00064490();
        goto LAB_0006b9dc;
      }
      get_tty_state();
      iVar9 = *(int *)(pcVar7 + 0xd9a18);
      puVar37 = (undefined4 *)(iVar9 + -0x70d0);
      puVar32 = (undefined4 *)(*(int *)(pcVar7 + 0xd8e2c) + 0x7ee8);
      puVar42 = puVar37;
      puVar17 = puVar32;
      do {
        puVar14 = puVar42 + 4;
        puVar18 = puVar17 + 4;
        uVar25 = puVar42[1];
        uVar23 = puVar42[2];
        uVar30 = puVar42[3];
        *puVar17 = *puVar42;
        puVar17[1] = uVar25;
        puVar17[2] = uVar23;
        puVar17[3] = uVar30;
        puVar42 = puVar14;
        puVar17 = puVar18;
      } while (puVar14 != (undefined4 *)(iVar9 + -0x70a0));
      iVar9 = *piVar36;
      *puVar18 = *puVar14;
      iVar9 = *(int *)(iVar9 + iVar5);
      if ((*(uint *)(iVar9 + 0x10) & 4) == 0) {
        iVar20 = *piVar36;
      }
      else {
LAB_0006bce0:
        give_terminal_to(*(undefined4 *)(iVar9 + 8),0);
        if (iVar20 == 1) goto LAB_0006bbc8;
        iVar20 = *piVar36;
      }
      pcVar8 = *(code **)(pcVar7 + 0xdad38);
      iVar5 = *(int *)(iVar20 + iVar5);
      *(uint *)(iVar5 + 0x10) = *(uint *)(iVar5 + 0x10) | 2;
      (*pcVar8)(*(undefined4 *)(iVar5 + 8),0x19);
    }
LAB_0006bbc8:
    iVar5 = FUN_00065a6c(piVar44);
    uVar30 = *(undefined4 *)(iVar5 + 4);
    (**(code **)(pcVar7 + 0xdadd8))(3,auStack_76c,0);
    puVar12 = (undefined1 *)MASKED(uVar30);
    puVar42 = puVar32;
    do {
      puVar14 = puVar42 + 4;
      puVar17 = puVar37 + 4;
      uVar25 = puVar42[1];
      uVar23 = puVar42[2];
      uVar30 = puVar42[3];
      *puVar37 = *puVar42;
      puVar37[1] = uVar25;
      puVar37[2] = uVar23;
      puVar37[3] = uVar30;
      puVar37 = puVar17;
      puVar42 = puVar14;
    } while (puVar14 != puVar32 + 0xc);
    *puVar17 = *puVar14;
    set_tty_state();
  }
  if (iStack_6ec == *piVar26) {
    return puVar12;
  }
  pcVar7 = *(code **)(pcVar7 + 0xdad4c);
  iVar5 = iStack_6ec;
  (*pcVar7)();
  piVar43 = *(int **)(pcVar7 + 0xd8b10);
  iVar20 = (**(code **)(pcVar7 + 0xda6dc))();
  *piVar43 = iVar20;
  if (iVar20 == -1) {
    uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7dec,5);
    sys_error(uVar30);
    (**(code **)(pcVar7 + 0xda620))(1);
LAB_0006c3c8:
    uVar30 = *puVar22;
LAB_0006be24:
    uVar30 = (**(code **)(pcVar7 + 0xda58c))(uVar30);
    iVar5 = (**(code **)(pcVar7 + 0xda780))(uVar30);
    *piVar36 = iVar5;
    if (iVar5 != -1) goto LAB_0006bf80;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar43 == 0) goto LAB_0006bf08;
LAB_0006be5c:
    iVar5 = *piVar36;
  }
  else {
    piVar44 = *(int **)(pcVar7 + 0xd87f4);
    puVar22 = *(undefined4 **)(pcVar7 + 0xda77c);
    uVar30 = *puVar22;
    if (iVar5 == 0 && *piVar44 == 0) {
      piVar21 = *(int **)(pcVar7 + 0xd8b0c);
      puVar42 = *(undefined4 **)(pcVar7 + 0xd9070);
      pcVar8 = *(code **)(pcVar7 + 0xda58c);
      piVar36 = *(int **)(pcVar7 + 0xd93fc);
      *piVar21 = 0;
      *puVar42 = 0xffffffff;
      iVar5 = (*pcVar8)(uVar30);
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      *piVar36 = iVar5;
      iVar5 = (*pcVar8)(iVar5);
      iVar20 = *piVar43;
      **(int **)(pcVar7 + 0xd9434) = iVar5;
      goto LAB_0006bff4;
    }
    piVar36 = *(int **)(pcVar7 + 0xd93fc);
    iVar5 = **(int **)(pcVar7 + 0xd87e4);
    *piVar36 = -1;
    if (iVar5 == 0) goto LAB_0006be24;
    uVar30 = (**(code **)(pcVar7 + 0xda58c))();
    iVar5 = (**(code **)(pcVar7 + 0xda4b0))(uVar30);
    if (iVar5 == 0) {
      iVar5 = (**(code **)(pcVar7 + 0xda5dc))(*(int *)(pcVar7 + 0xd87dc) + 0x62c0,0x82);
      *piVar36 = iVar5;
    }
    else {
      iVar5 = *piVar36;
    }
    if (iVar5 == -1) goto LAB_0006c3c8;
LAB_0006bf80:
    iVar5 = (**(code **)(pcVar7 + 0xd8a0c))(iVar5,1,0xffffffff);
    *piVar36 = iVar5;
    pcVar8 = *(code **)(pcVar7 + 0xda670);
    if (*piVar43 != 0) goto LAB_0006be5c;
LAB_0006bf08:
    iVar5 = (*pcVar8)();
    pcVar8 = *(code **)(pcVar7 + 0xda4fc);
    *piVar43 = iVar5;
    (*pcVar8)(0,iVar5);
    iVar5 = *piVar36;
    if (iVar5 != -1) {
      (**(code **)(pcVar7 + 0xda73c))(iVar5,*piVar43);
      goto LAB_0006be5c;
    }
  }
  iVar20 = 0x12;
  piVar45 = *(int **)(pcVar7 + 0xd9434);
  piVar21 = *(int **)(pcVar7 + 0xd8a98);
  while( true ) {
    iVar5 = (**(code **)(pcVar7 + 0xda598))(iVar5);
    *piVar45 = iVar5;
    if (iVar5 == -1) break;
    if (*piVar43 == iVar5) {
      iVar9 = -1;
      goto LAB_0006c118;
    }
    pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    if (*piVar21 != 0) {
      (**(code **)(pcVar7 + 0xd8a9c))(*piVar21);
      pcVar8 = *(code **)(pcVar7 + 0xd8aac);
    }
    iVar20 = iVar20 + -1;
    uVar30 = (*pcVar8)(0x1a,0);
    (**(code **)(pcVar7 + 0xda61c))(0,0x1a);
    (**(code **)(pcVar7 + 0xd8aac))(0x1a,uVar30);
    if (iVar20 == 0) {
      piVar21 = *(int **)(pcVar7 + 0xd8b0c);
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e14,5);
      sys_error(uVar30);
      iVar5 = *piVar45;
      iVar20 = *piVar43;
      *piVar21 = 0;
      **(int **)(pcVar7 + 0xd9070) = iVar5;
      goto LAB_0006bff4;
    }
    iVar5 = *piVar36;
  }
  piVar21 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
  iVar9 = *piVar21;
  iVar5 = *piVar43;
LAB_0006c118:
  piVar29 = *(int **)(pcVar7 + 0xd9070);
  pcVar8 = *(code **)(pcVar7 + 0xda670);
  *piVar29 = iVar5;
  iVar5 = (*pcVar8)();
  iVar20 = *piVar29;
  *piVar43 = iVar5;
  if (iVar5 == iVar20) {
LAB_0006c138:
    piVar21 = *(int **)(pcVar7 + 0xd8b0c);
    *piVar21 = 1;
LAB_0006c144:
    pcVar8 = *(code **)(pcVar7 + 0xda598);
LAB_0006c148:
    iVar20 = (*pcVar8)(*piVar36);
    if ((iVar20 == -1) || (*piVar43 != iVar20)) {
      if (iVar9 != -1) {
        piVar29 = (int *)(**(code **)(pcVar7 + 0xda5a0))();
        *piVar29 = iVar9;
      }
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e6c,5);
      sys_error(uVar30,iVar20);
      *piVar21 = 0;
      goto LAB_0006c230;
    }
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
    if (*piVar21 != 0) {
      iVar5 = *piVar45;
      goto LAB_0006bff4;
    }
  }
  else {
    iVar5 = (**(code **)(pcVar7 + 0xda4fc))(0,iVar5);
    if (iVar5 < 0) {
      uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,*(int *)(pcVar7 + 0xd87dc) + 0x7e4c,5);
      sys_error(uVar30);
      *piVar43 = *piVar29;
      goto LAB_0006c138;
    }
    piVar21 = *(int **)(pcVar7 + 0xd8b0c);
    iVar20 = *piVar43;
    iVar5 = *piVar29;
    *piVar21 = 1;
    if (iVar20 == iVar5) goto LAB_0006c144;
    pcVar8 = *(code **)(pcVar7 + 0xda598);
    if (*piVar45 == iVar20) goto LAB_0006c148;
    iVar5 = give_terminal_to(iVar20,0);
    if (iVar5 < 0) {
      puVar42 = (undefined4 *)(**(code **)(pcVar7 + 0xda5a0))();
      uVar30 = *puVar42;
      (**(code **)(pcVar7 + 0xda4fc))(0,*piVar29);
      iVar5 = *(int *)(pcVar7 + 0xd87dc);
      pcVar8 = *(code **)(pcVar7 + 0xda6fc);
      *piVar43 = *piVar29;
      *puVar42 = uVar30;
      uVar30 = (*pcVar8)(0,iVar5 + 0x7e6c,5);
      sys_error(uVar30,*piVar43);
      *piVar21 = 0;
    }
    else {
      pcVar8 = *(code **)(pcVar7 + 0xda598);
      if (*piVar21 != 0) goto LAB_0006c148;
    }
LAB_0006c230:
    iVar5 = *(int *)(pcVar7 + 0xd87dc);
  }
  uVar30 = (**(code **)(pcVar7 + 0xda6fc))(0,iVar5 + 0x7e94,5);
  internal_error(uVar30);
  iVar5 = *piVar45;
  iVar20 = *piVar43;
LAB_0006bff4:
  pcVar8 = *(code **)(pcVar7 + 0xda58c);
  uVar30 = *puVar22;
  **(uint **)(pcVar7 + 0xd8954) = (uint)(iVar20 != iVar5);
  iVar5 = (*pcVar8)(uVar30);
  if (iVar5 != *piVar36) {
    (**(code **)(pcVar7 + 0xda540))(*piVar36,2,1);
  }
  (**(code **)(pcVar7 + 0xd8aac))(0x12,*(int *)(pcVar7 + 0xd942c) + -0x6fbc);
  uVar30 = 0x2b;
  if (*piVar21 != 0) {
    uVar30 = 0x2d;
  }
  change_flag(0x6d,uVar30);
  if (*piVar44 != 0) {
    get_tty_state();
  }
  piVar43 = *(int **)(pcVar7 + 0xd90bc);
  if (-1 < *piVar43) {
    return (undefined1 *)*piVar21;
  }
  iVar5 = (**(code **)(pcVar7 + 0xd93d8))();
  if (iVar5 < 0) {
    iVar5 = 0x20;
  }
  *piVar43 = iVar5;
  return (undefined1 *)*piVar21;
}

