
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void do_insertfile(void)

{
  bool bVar1;
  undefined3 extraout_var;
  int *piVar2;
  char *curranswer;
  uint uVar3;
  char *pcVar4;
  undefined4 uVar5;
  int iVar6;
  functionptrtype p_Var7;
  _Bool _Var8;
  int iVar9;
  _func_void *refresh_func;
  int iVar10;
  int iVar11;
  uint uVar12;
  filestruct **history_list;
  undefined4 uVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  functionptrtype p_Var17;
  int iVar18;
  uint *puVar19;
  undefined4 *puVar20;
  undefined4 *puVar21;
  char *buf;
  int *piVar22;
  int iVar23;
  int in_t9;
  code *pcVar24;
  int *piVar25;
  int i;
  ssize_t priorline;
  ssize_t priorcol;
  int local_2c;
  
  iVar9 = *(int *)(in_t9 + 0x55570);
  piVar2 = *(int **)(in_t9 + 0x5610c);
  refresh_func = *(_func_void **)(in_t9 + 0x558c8);
  iVar10 = *(int *)(in_t9 + 0x55570);
  piVar22 = *(int **)(in_t9 + 0x55580);
  local_2c = *piVar2;
  bVar1 = false;
  iVar11 = *(int *)(in_t9 + 0x55570);
  puVar19 = *(uint **)(in_t9 + 0x555b0);
  piVar25 = *(int **)(in_t9 + 0x557bc);
  iVar23 = *(int *)(in_t9 + 0x55570);
  puVar21 = *(undefined4 **)(in_t9 + 0x558ec);
  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac);
  uVar12 = *puVar19;
  uVar13 = *(undefined4 *)(*piVar22 + 0x3c);
  uVar3 = uVar12 & 0x2000;
  iVar14 = *(int *)(in_t9 + 0x55570);
  **(undefined1 **)(in_t9 + 0x558c0) = 0;
  iVar15 = *(int *)(in_t9 + 0x55570);
  iVar16 = *(int *)(in_t9 + 0x55570);
LAB_000220c8:
  if (bVar1) {
    if (uVar3 == 0) {
      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);
    }
    else {
      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);
    }
    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);
    iVar18 = 0x80;
    *puVar21 = uVar5;
    iVar6 = *piVar25;
    history_list = *(filestruct ***)(in_t9 + 0x55a74);
  }
  else {
    pcVar24 = *(code **)(in_t9 + 0x560e0);
    if (uVar3 == 0) {
      if ((uVar12 & 0x20000) == 0) {
        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);
      }
      else {
        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);
      }
    }
    else if ((uVar12 & 0x20000) == 0) {
      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);
    }
    else {
      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);
    }
    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);
    iVar18 = 0x40;
    *puVar21 = uVar5;
    iVar6 = *piVar25;
    history_list = (filestruct **)0x0;
  }
  if (iVar6 == 0) {
    iVar6 = iVar23 + -0xa2c;
  }
  i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6);
  if (i == -1) {
    iVar18 = *(int *)(in_t9 + 0x55570);
LAB_0002252c:
    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);
    (**(code **)(in_t9 + 0x555d8))(uVar13);
    goto LAB_00022298;
  }
  if ((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))
  goto LAB_0002252c;
  puVar20 = *(undefined4 **)(in_t9 + 0x55940);
  iVar18 = *(int *)(*piVar22 + 0x1c);
  iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4);
  p_Var7 = func_from_key(&i);
  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);
  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)) {
    if ((*puVar19 & 0x80) == 0) {
      uVar12 = *puVar19 ^ 0x2000;
      *puVar19 = uVar12;
      uVar3 = uVar12 & 0x2000;
    }
    else {
      (**(code **)(in_t9 + 0x56044))();
      uVar12 = *puVar19;
      uVar3 = uVar12 & 0x2000;
    }
    goto LAB_000220c8;
  }
  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)) {
    uVar12 = *puVar19 ^ 0x20000;
    *puVar19 = uVar12;
    uVar3 = uVar12 & 0x2000;
    goto LAB_000220c8;
  }
  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)) {
    uVar12 = *puVar19;
    bVar1 = (bool)(bVar1 ^ 1);
    uVar3 = uVar12 & 0x2000;
    goto LAB_000220c8;
  }
  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)) {
    pcVar4 = do_browse_from((char *)*puVar20);
    if (pcVar4 == (char *)0x0) {
      uVar12 = *puVar19;
      uVar3 = uVar12 & 0x2000;
    }
    else {
      (**(code **)(in_t9 + 0x56120))(*puVar20);
      i = 0;
      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);
      *puVar20 = pcVar4;
      if (p_Var7 != p_Var17) goto LAB_000223f0;
LAB_000224a4:
      add_or_remove_pipe_symbol_from_answer();
      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);
      uVar12 = *puVar19;
      uVar3 = uVar12 & 0x2000;
    }
    goto LAB_000220c8;
  }
  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)) goto LAB_000224a4;
  if (i == 0) {
LAB_000223f0:
    if (!bVar1) goto LAB_00022218;
    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;
    pcVar4 = (char *)*puVar20;
    if (*pcVar4 == '\0') goto LAB_00022418;
    goto LAB_000225b0;
  }
  uVar12 = *puVar19;
  uVar3 = uVar12 & 0x2000;
  if ((uVar3 == 0) || (i != -2)) goto LAB_000220c8;
  if (bVar1) {
LAB_00022558:
    open_buffer((char *)(iVar9 + 0x2cac),true);
    pcVar4 = (char *)*puVar20;
    if (*pcVar4 != '\0') {
LAB_000225b0:
      execute_command(pcVar4);
      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);
      FUN_00022578();
      return;
    }
    iVar9 = *piVar22;
    if ((*puVar19 & 0x2000) != 0) {
      *(undefined4 *)(iVar9 + 0x1c) = 0;
      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);
      *(undefined4 *)(iVar9 + 0x20) = 0;
      set_modified();
      bVar1 = true;
      goto LAB_00022260;
    }
  }
  else {
LAB_00022218:
    buf = (char *)*puVar20;
    pcVar4 = real_dir_from_tilde(buf);
    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);
    uVar3 = *puVar19;
    *puVar20 = pcVar4;
    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));
    bVar1 = false;
LAB_00022260:
    if ((*puVar19 & 0x2000) != 0) {
      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&
         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),
         CONCAT31(extraout_var,_Var8) != 0)) {
        do_gotolinecolumn(priorline,priorcol,false,false);
      }
      prepare_for_display();
      goto LAB_00022298;
    }
LAB_00022418:
    iVar9 = *piVar22;
  }
  if ((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)) {
    set_modified();
    iVar9 = *piVar22;
  }
  *(undefined4 *)(iVar9 + 0x3c) = uVar13;
  **(undefined1 **)(in_t9 + 0x555b8) = 1;
LAB_00022298:
  (**(code **)(in_t9 + 0x56120))(curranswer);
  if (local_2c == *piVar2) {
    return;
  }
  pcVar24 = *(code **)(in_t9 + 0x560d4);
  (*pcVar24)();
  if (**(int **)(pcVar24 + 0x54fb0) << 8 < 0) {
    show_restricted_warning();
    return;
  }
  do_insertfile();
  return;
}



void do_insertfile(void)

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 uVar9;
  uint uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  undefined *puVar16;
  uint uVar17;
  undefined4 uVar18;
  undefined *puVar19;
  undefined *puVar20;
  undefined *puVar21;
  int iVar22;
  undefined4 uVar23;
  undefined *puVar24;
  int local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar8 = PTR___stack_chk_guard_000780f8;
  puVar7 = PTR_present_path_000778d8;
  puVar6 = PTR_edit_refresh_000778b4;
  puVar5 = PTR_operating_dir_000777a8;
  puVar4 = PTR_flags_0007759c;
  puVar3 = PTR_openfile_0007756c;
  puVar24 = PTR_s_d_of_current_line_0007755c;
  local_2c = *(int *)PTR___stack_chk_guard_000780f8;
  bVar2 = false;
  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);
  uVar17 = *(uint *)puVar4;
  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);
  uVar10 = uVar17 & 0x2000;
  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;
  *PTR_as_an_at_000778ac = 0;
  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;
  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;
  do {
    while( true ) {
      while( true ) {
        while( true ) {
          while( true ) {
            if (bVar2) {
              if (uVar10 == 0) {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);
              }
              else {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)
                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);
              }
              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);
              uVar23 = 0x80;
              *(undefined4 *)puVar7 = uVar12;
              puVar13 = *(undefined **)puVar5;
              puVar16 = PTR_execute_history_00077a60;
            }
            else {
              if (uVar10 == 0) {
                if ((uVar17 & 0x20000) == 0) {
                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);
                }
                else {
                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);
                }
              }
              else if ((uVar17 & 0x20000) == 0) {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);
              }
              else {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);
              }
              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);
              uVar23 = 0x40;
              *(undefined4 *)puVar7 = uVar12;
              puVar13 = *(undefined **)puVar5;
              puVar16 = (undefined *)0x0;
            }
            if (puVar13 == (undefined *)0x0) {
              puVar13 = puVar24 + -0xa2c;
            }
            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);
            puVar13 = PTR_answer_0007792c;
            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {
              uVar18 = (*(code *)PTR_dcgettext_000780cc)
                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);
              (*(code *)PTR_statusbar_000775c4)(uVar18);
              goto LAB_00022298;
            }
            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);
            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);
            puVar16 = (undefined *)func_from_key(&local_38);
            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);
            if (puVar16 != PTR_flip_newbuffer_00077a64) break;
            if ((*(uint *)puVar4 & 0x80) == 0) {
              uVar17 = *(uint *)puVar4 ^ 0x2000;
              *(uint *)puVar4 = uVar17;
              uVar10 = uVar17 & 0x2000;
            }
            else {
              (*(code *)PTR_beep_00078030)();
              uVar17 = *(uint *)puVar4;
              uVar10 = uVar17 & 0x2000;
            }
          }
          if (puVar16 != PTR_flip_convert_00077a68) break;
          uVar17 = *(uint *)puVar4 ^ 0x20000;
          *(uint *)puVar4 = uVar17;
          uVar10 = uVar17 & 0x2000;
        }
        if (puVar16 != PTR_flip_execute_00077a6c) break;
        uVar17 = *(uint *)puVar4;
        bVar2 = (bool)(bVar2 ^ 1);
        uVar10 = uVar17 & 0x2000;
      }
      if (puVar16 != PTR_to_files_void_00077a70) break;
      iVar22 = do_browse_from(*(undefined4 *)puVar13);
      if (iVar22 == 0) {
        uVar17 = *(uint *)puVar4;
        uVar10 = uVar17 & 0x2000;
      }
      else {
        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);
        local_38 = 0;
        bVar1 = puVar16 != PTR_flip_pipe_00077a74;
        *(int *)puVar13 = iVar22;
        if (bVar1) goto LAB_000223f0;
LAB_000224a4:
        add_or_remove_pipe_symbol_from_answer();
        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);
        uVar17 = *(uint *)puVar4;
        uVar10 = uVar17 & 0x2000;
      }
    }
    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;
    if (local_38 == 0) {
LAB_000223f0:
      if (!bVar2) goto LAB_00022218;
      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;
      if (**(char **)puVar13 == '\0') goto LAB_00022418;
      goto LAB_000225b0;
    }
    uVar17 = *(uint *)puVar4;
    uVar10 = uVar17 & 0x2000;
  } while ((uVar10 == 0) || (local_38 != -2));
  if (bVar2) {
LAB_00022558:
    open_buffer(puVar24 + 0x2cac,1);
    if (**(char **)puVar13 != '\0') {
LAB_000225b0:
      execute_command();
      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);
    }
    iVar22 = *(int *)puVar3;
    if ((*(uint *)puVar4 & 0x2000) != 0) {
      *(undefined4 *)(iVar22 + 0x1c) = 0;
      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);
      *(undefined4 *)(iVar22 + 0x20) = 0;
      set_modified();
      bVar2 = true;
      goto LAB_00022260;
    }
  }
  else {
LAB_00022218:
    uVar23 = *(undefined4 *)puVar13;
    uVar11 = real_dir_from_tilde(uVar23);
    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);
    iVar22 = *(int *)puVar4;
    *(undefined4 *)puVar13 = uVar11;
    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);
    bVar2 = false;
LAB_00022260:
    if ((*(uint *)puVar4 & 0x2000) != 0) {
      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&
         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {
        do_gotolinecolumn(local_34,local_30,0,0);
      }
      prepare_for_display();
      goto LAB_00022298;
    }
LAB_00022418:
    iVar22 = *(int *)puVar3;
  }
  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {
    set_modified();
    iVar22 = *(int *)puVar3;
  }
  *(undefined4 *)(iVar22 + 0x3c) = uVar18;
  *PTR_refresh_needed_000775a4 = 1;
LAB_00022298:
  (*(code *)PTR_free_0007810c)(uVar9);
  if (local_2c == *(int *)puVar8) {
    return;
  }
  puVar24 = PTR___stack_chk_fail_000780c0;
  (*(code *)PTR___stack_chk_fail_000780c0)();
  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {
    show_restricted_warning();
    return;
  }
  do_insertfile();
  return;
}


lui gp,0x6
addiu gp,gp,-0x2acc
addu gp,gp,t9
addiu sp,sp,-0x90
lw v1,-0x7fc4(gp)
lw v0,-0x7428(gp)
or a0,zero,zero
lw t9,-0x7fb8(gp)
sw v1,0x50(sp)
addiu a1,v1,0x2cac
lw v1,-0x7c6c(gp)
sw s5,0x7c(sp)
sw v0,0x38(sp)
sw v1,0x28(sp)
lw v1,-0x7fc4(gp)
lw s5,-0x7fb4(gp)
lw v0,0x0(v0)
sw v1,0x44(sp)
sw gp,0x20(sp)
sw s8,0x88(sp)
sw s6,0x80(sp)
sw s4,0x78(sp)
or s4,zero,zero
sw s3,0x74(sp)
sw s1,0x6c(sp)
sw s0,0x68(sp)
sw ra,0x8c(sp)
sw s7,0x84(sp)
sw s2,0x70(sp)
sw v0,0x64(sp)
lw v1,-0x7fc4(gp)
lw s1,-0x7f84(gp)
lw s8,-0x7d78(gp)
lw s6,-0x7fc4(gp)
lw s3,-0x7c48(gp)
jalr t9
_sw v1,0x34(sp)
lw a0,0x0(s5)
or s0,v0,zero
lw gp,0x20(sp)
lw v1,0x0(s1)
lw a0,0x3c(a0)
andi v0,v1,0x2000
sw a0,0x4c(sp)
lw a0,-0x7fc4(gp)
addiu a0,a0,-0x96c
sw a0,0x3c(sp)
lw a0,-0x7c74(gp)
sb zero,0x0(a0)
lw a0,-0x7fc4(gp)
addiu a0,a0,-0x994
sw a0,0x40(sp)
lw a0,-0x7fc4(gp)
addiu a0,a0,-0x9f0
sw a0,0x48(sp)
beq s4,zero,0x000222e8
_lui a0,0x2
beq v0,zero,0x00022360
_lw v0,0x34(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7454(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0xa28
lw gp,0x20(sp)
or s2,v0,zero
lw t9,-0x7fb8(gp)
addiu a1,s6,-0xa2c
jalr t9
_lw a0,0x0(s3)
li a2,0x80
lw gp,0x20(sp)
sw v0,0x0(s3)
lw v0,0x0(s8)
beq v0,zero,0x0002233c
_lw v1,-0x7ac0(gp)
lw t9,-0x7c0c(gp)
li a1,0x1
sw v0,0x1c(sp)
li a0,0x1
sw v1,0x10(sp)
or a3,s0,zero
sw s2,0x18(sp)
lw v0,0x28(sp)
bal 0x00033b00
_sw v0,0x14(sp)
li v1,-0x1
lw gp,0x20(sp)
beq v0,v1,0x00022528
_sw v0,0x58(sp)
li v1,-0x2
bne v0,v1,0x00022174
_nop
lw v0,0x0(s1)
andi v0,v0,0x2000
beq v0,zero,0x0002252c
_lw a1,-0x7fc4(gp)
lw v0,0x0(s5)
addiu a0,sp,0x58
lw t9,-0x7c2c(gp)
lw s2,-0x7bf4(gp)
lw v1,0x10(v0)
lw v0,0x1c(v0)
sw v0,0x30(sp)
lw v0,0x4(v1)
bal 0x00025404
_sw v0,0x2c(sp)
or a0,s0,zero
lw gp,0x20(sp)
or s7,v0,zero
lw t9,-0x7fb8(gp)
jalr t9
_lw a1,0x0(s2)
lw gp,0x20(sp)
lw a0,-0x7abc(gp)
beq s7,a0,0x00022380
_or s0,v0,zero
lw v0,-0x7ab8(gp)
beq s7,v0,0x000223a0
_lui v0,0x2
lw v0,-0x7ab4(gp)
beq s7,v0,0x000223e0
_nop
lw v0,-0x7ab0(gp)
beq s7,v0,0x00022468
_lw v0,-0x7aac(gp)
beq s7,v0,0x000224a4
_lw a0,0x58(sp)
beq a0,zero,0x000223f0
_nop
lw v1,0x0(s1)
andi v0,v1,0x2000
beq v0,zero,0x000220c8
_li a1,-0x2
bne a0,a1,0x000220c8
_nop
bne s4,zero,0x00022558
_lw v0,0x50(sp)
lw s3,0x0(s2)
lw t9,-0x7bb4(gp)
bal 0x00020068
_or a0,s3,zero
or a0,s3,zero
lw gp,0x20(sp)
lw t9,-0x7be4(gp)
jalr t9
_or a1,v0,zero
lw gp,0x20(sp)
or a0,v0,zero
lw a1,0x0(s1)
sw v0,0x0(s2)
lw t9,-0x7ea0(gp)
bal 0x00021c90
_ext a1,a1,0xd,0x1
or v1,zero,zero
lw gp,0x20(sp)
lw v0,0x0(s1)
andi v0,v0,0x2000
beq v0,zero,0x00022418
_nop
lw v0,0x4(s1)
andi v0,v0,0x4
beq v0,zero,0x0002228c
_lw t9,-0x7c84(gp)
beq v1,zero,0x000224f0
_lw t9,-0x7ca0(gp)
lw t9,-0x7c84(gp)
bal 0x0001f774
_nop
lw gp,0x20(sp)
lw t9,-0x7414(gp)
jalr t9
_or a0,s0,zero
lw v0,0x38(sp)
lw v1,0x64(sp)
lw gp,0x20(sp)
lw v0,0x0(v0)
bne v1,v0,0x000225e0
_lw ra,0x8c(sp)
lw s8,0x88(sp)
lw s7,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x90
lw t9,-0x7454(gp)
li a2,0x5
beq v0,zero,0x00022344
_and v1,v1,a0
beq v1,zero,0x000223b4
_lw v0,0x44(sp)
lw a1,0x48(sp)
jalr t9
_or a0,zero,zero
lw gp,0x20(sp)
or s2,v0,zero
lw t9,-0x7fb8(gp)
addiu a1,s6,-0xa2c
jalr t9
_lw a0,0x0(s3)
li a2,0x40
lw gp,0x20(sp)
sw v0,0x0(s3)
lw v0,0x0(s8)
bne v0,zero,0x00022120
_or v1,zero,zero
b 0x00022120
_addiu v0,s6,-0xa2c
beq v1,zero,0x000223cc
_or a0,zero,zero
jalr t9
_lw a1,0x40(sp)
lw gp,0x20(sp)
b 0x00022314
_or s2,v0,zero
li a2,0x5
lw t9,-0x7454(gp)
or a0,zero,zero
jalr t9
_addiu a1,v0,-0xa04
lw gp,0x20(sp)
b 0x000220f8
_or s2,v0,zero
lw v1,0x0(s1)
andi v0,v1,0x80
bne v0,zero,0x000224d8
_lw t9,-0x74f0(gp)
xori v1,v1,0x2000
sw v1,0x0(s1)
b 0x000220c8
_andi v0,v1,0x2000
lw v1,0x0(s1)
xor v1,v1,v0
sw v1,0x0(s1)
b 0x000220c8
_andi v0,v1,0x2000
or a0,zero,zero
jalr t9
_addiu a1,v0,-0x9bc
lw gp,0x20(sp)
b 0x00022314
_or s2,v0,zero
jalr t9
_lw a1,0x3c(sp)
lw gp,0x20(sp)
b 0x00022314
_or s2,v0,zero
lw v1,0x0(s1)
xori s4,s4,0x1
b 0x000220c8
_andi v0,v1,0x2000
beq s4,zero,0x00022218
_nop
lw v0,0x0(s1)
andi v0,v0,0x2000
bne v0,zero,0x00022558
_lw v0,0x50(sp)
lw a0,0x0(s2)
lb v0,0x0(a0)
bne v0,zero,0x000225b0
_lw t9,-0x7aa8(gp)
lw v0,0x0(s5)
lw v1,0x10(v0)
lw a0,0x2c(sp)
lw v1,0x4(v1)
bne v1,a0,0x0002243c
_lw a0,0x30(sp)
lw v1,0x1c(v0)
beq v1,a0,0x00022454
_lw v1,0x4c(sp)
lw t9,-0x7e94(gp)
bal 0x000206b0
_nop
lw gp,0x20(sp)
lw v0,0x0(s5)
lw v1,0x4c(sp)
sw v1,0x3c(v0)
li v1,0x1
lw v0,-0x7f7c(gp)
b 0x00022298
_sb v1,0x0(v0)
lw t9,-0x7aa4(gp)
bal 0x0001b144
_lw a0,0x0(s2)
lw gp,0x20(sp)
beq v0,zero,0x000225d4
_sw v0,0x54(sp)
lw t9,-0x7414(gp)
jalr t9
_lw a0,0x0(s2)
lw gp,0x20(sp)
lw v0,0x54(sp)
sw zero,0x58(sp)
lw a0,-0x7aac(gp)
bne s7,a0,0x000223f0
_sw v0,0x0(s2)
lw t9,-0x7aa0(gp)
bal 0x00033628
_nop
or a0,s0,zero
lw gp,0x20(sp)
lw t9,-0x7fb8(gp)
jalr t9
_lw a1,0x0(s2)
lw v1,0x0(s1)
or s0,v0,zero
lw gp,0x20(sp)
b 0x000220c8
_andi v0,v1,0x2000
jalr t9
_nop
lw v1,0x0(s1)
lw gp,0x20(sp)
b 0x000220c8
_andi v0,v1,0x2000
addiu a2,sp,0x60
lw a0,0x0(s2)
bal 0x0002c3d4
_addiu a1,sp,0x5c
beq v0,zero,0x00022288
_lw gp,0x20(sp)
lw t9,-0x7c9c(gp)
or a3,zero,zero
lw a1,0x60(sp)
or a2,zero,zero
bal 0x00038868
_lw a0,0x5c(sp)
b 0x00022288
_lw gp,0x20(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x7454(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0x1200
lw gp,0x20(sp)
lw t9,-0x7f5c(gp)
jalr t9
_or a0,v0,zero
b 0x00022298
_lw gp,0x20(sp)
li a1,0x1
lw t9,-0x7ea0(gp)
bal 0x00021c90
_addiu a0,v0,0x2cac
lw a0,0x0(s2)
lb v0,0x0(a0)
bne v0,zero,0x000225ac
_lw gp,0x20(sp)
lw v1,0x0(s1)
andi v1,v1,0x2000
beq v1,zero,0x0002241c
_lw v0,0x0(s5)
lw v1,0x4(v0)
lw t9,-0x7e94(gp)
sw zero,0x1c(v0)
sw v1,0x10(v0)
bal 0x000206b0
_sw zero,0x20(v0)
li v1,0x1
b 0x00022260
_lw gp,0x20(sp)
lw t9,-0x7aa8(gp)
bal 0x0003d008
_nop
lw gp,0x20(sp)
lw t9,-0x7bf0(gp)
lw a0,-0x7ac0(gp)
bal 0x0002ae04
_lw a1,0x0(s2)
b 0x00022578
_lw gp,0x20(sp)
lw v1,0x0(s1)
b 0x000220c8
_andi v0,v1,0x2000
lw t9,-0x7460(gp)
jalr t9
_nop
(translation_unit "void do_insertfile(void)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}\n\n" (function_definition "void do_insertfile(void)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" primitive_type (function_declarator "do_insertfile(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar8 = PTR___stack_chk_guard_000780f8;" (assignment_expression "puVar8 = PTR___stack_chk_guard_000780f8" identifier = identifier) ;) (expression_statement "puVar7 = PTR_present_path_000778d8;" (assignment_expression "puVar7 = PTR_present_path_000778d8" identifier = identifier) ;) (expression_statement "puVar6 = PTR_edit_refresh_000778b4;" (assignment_expression "puVar6 = PTR_edit_refresh_000778b4" identifier = identifier) ;) (expression_statement "puVar5 = PTR_operating_dir_000777a8;" (assignment_expression "puVar5 = PTR_operating_dir_000777a8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_flags_0007759c;" (assignment_expression "puVar4 = PTR_flags_0007759c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_openfile_0007756c;" (assignment_expression "puVar3 = PTR_openfile_0007756c" identifier = identifier) ;) (expression_statement "puVar24 = PTR_s_d_of_current_line_0007755c;" (assignment_expression "puVar24 = PTR_s_d_of_current_line_0007755c" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000780f8;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000780f8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000780f8" * (cast_expression "(int *)PTR___stack_chk_guard_000780f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + 0x2cac" identifier + number_literal) )))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);" (assignment_expression "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)(*(int *)puVar3 + 0x3c)" * (cast_expression "(undefined4 *)(*(int *)puVar3 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x3c)" ( (binary_expression "*(int *)puVar3 + 0x3c" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) (expression_statement "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;" (assignment_expression "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x96c" identifier + number_literal)) ;) (expression_statement "*PTR_as_an_at_000778ac = 0;" (assignment_expression "*PTR_as_an_at_000778ac = 0" (pointer_expression "*PTR_as_an_at_000778ac" * identifier) = number_literal) ;) (expression_statement "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;" (assignment_expression "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x994" identifier + number_literal)) ;) (expression_statement "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;" (assignment_expression "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x9f0" identifier + number_literal)) ;) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" { (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" { (while_statement "while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" { (while_statement "while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" { (if_statement "if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }" { (if_statement "if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar24 + -0xa04,5)" ( number_literal , (binary_expression "puVar24 + -0xa04" identifier + number_literal) , number_literal )))) ;) }) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" else (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + -0xa28" identifier + number_literal) , number_literal )))) ;) }))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" ( (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "puVar24 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "uVar23 = 0x80;" (assignment_expression "uVar23 = 0x80" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" identifier = (pointer_expression "*(undefined **)puVar5" * (cast_expression "(undefined **)puVar5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = PTR_execute_history_00077a60;" (assignment_expression "puVar16 = PTR_execute_history_00077a60" identifier = identifier) ;) }) (else_clause "else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" else (compound_statement "{\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" { (if_statement "if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }" { (if_statement "if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" if (parenthesized_expression "((uVar17 & 0x20000) == 0)" ( (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" ( (binary_expression "uVar17 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar19,5)" ( number_literal , identifier , number_literal )))) ;) }) (else_clause "else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" else (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar20)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar20)" ( number_literal , identifier )))) ;) }))) }) (else_clause "else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" else (if_statement "if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" if (parenthesized_expression "((uVar17 & 0x20000) == 0)" ( (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" ( (binary_expression "uVar17 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar24 + -0x9bc)" ( number_literal , (binary_expression "puVar24 + -0x9bc" identifier + number_literal) )))) ;) }) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" else (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar21)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar21)" ( number_literal , identifier )))) ;) }))))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" ( (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "puVar24 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "uVar23 = 0x40;" (assignment_expression "uVar23 = 0x40" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" identifier = (pointer_expression "*(undefined **)puVar5" * (cast_expression "(undefined **)puVar5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = (undefined *)0x0;" (assignment_expression "puVar16 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar13 = puVar24 + -0xa2c;\n            }" { (expression_statement "puVar13 = puVar24 + -0xa2c;" (assignment_expression "puVar13 = puVar24 + -0xa2c" identifier = (binary_expression "puVar24 + -0xa2c" identifier + number_literal)) ;) })) (expression_statement "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);" (assignment_expression "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" identifier = (call_expression "do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" identifier (argument_list "(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" ( number_literal , number_literal , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "puVar13 = PTR_answer_0007792c;" (assignment_expression "puVar13 = PTR_answer_0007792c" identifier = identifier) ;) (if_statement "if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" if (parenthesized_expression "((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))))" ( (binary_expression "(local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" (parenthesized_expression "(local_38 == -1)" ( (binary_expression "local_38 == -1" identifier == number_literal) )) || (parenthesized_expression "((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" ( (parenthesized_expression "(local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))" ( (binary_expression "local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)" (binary_expression "local_38 == -2" identifier == number_literal) && (parenthesized_expression "((*(uint *)puVar4 & 0x2000) == 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" { (expression_statement "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);" (assignment_expression "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + -0x1200" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_statusbar_000775c4)(uVar18);" (call_expression "(*(code *)PTR_statusbar_000775c4)(uVar18)" (parenthesized_expression "(*(code *)PTR_statusbar_000775c4)" ( (pointer_expression "*(code *)PTR_statusbar_000775c4" * (cast_expression "(code *)PTR_statusbar_000775c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar18)" ( identifier ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(*(int *)puVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)puVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)puVar3 + 0x1c)" * (cast_expression "(int *)(*(int *)puVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x1c)" ( (binary_expression "*(int *)puVar3 + 0x1c" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);" (assignment_expression "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar3 + 0x10) + 4)" ( (binary_expression "*(int *)(*(int *)puVar3 + 0x10) + 4" (pointer_expression "*(int *)(*(int *)puVar3 + 0x10)" * (cast_expression "(int *)(*(int *)puVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x10)" ( (binary_expression "*(int *)puVar3 + 0x10" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined *)func_from_key(&local_38);" (assignment_expression "puVar16 = (undefined *)func_from_key(&local_38)" identifier = (cast_expression "(undefined *)func_from_key(&local_38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_from_key(&local_38)" identifier (argument_list "(&local_38)" ( (pointer_expression "&local_38" & identifier) ))))) ;) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (puVar16 != PTR_flip_newbuffer_00077a64) break;" if (parenthesized_expression "(puVar16 != PTR_flip_newbuffer_00077a64)" ( (binary_expression "puVar16 != PTR_flip_newbuffer_00077a64" identifier != identifier) )) (break_statement "break;" break ;)) (if_statement "if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" if (parenthesized_expression "((*(uint *)puVar4 & 0x80) == 0)" ( (binary_expression "(*(uint *)puVar4 & 0x80) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x80)" ( (binary_expression "*(uint *)puVar4 & 0x80" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }" { (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x2000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x2000" identifier = (binary_expression "*(uint *)puVar4 ^ 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" else (compound_statement "{\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" { (expression_statement "(*(code *)PTR_beep_00078030)();" (call_expression "(*(code *)PTR_beep_00078030)()" (parenthesized_expression "(*(code *)PTR_beep_00078030)" ( (pointer_expression "*(code *)PTR_beep_00078030" * (cast_expression "(code *)PTR_beep_00078030" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }))) })) (if_statement "if (puVar16 != PTR_flip_convert_00077a68) break;" if (parenthesized_expression "(puVar16 != PTR_flip_convert_00077a68)" ( (binary_expression "puVar16 != PTR_flip_convert_00077a68" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x20000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x20000" identifier = (binary_expression "*(uint *)puVar4 ^ 0x20000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) })) (if_statement "if (puVar16 != PTR_flip_execute_00077a6c) break;" if (parenthesized_expression "(puVar16 != PTR_flip_execute_00077a6c)" ( (binary_expression "puVar16 != PTR_flip_execute_00077a6c" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar2 = (bool)(bVar2 ^ 1);" (assignment_expression "bVar2 = (bool)(bVar2 ^ 1)" identifier = (cast_expression "(bool)(bVar2 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar2 ^ 1)" ( (binary_expression "bVar2 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) })) (if_statement "if (puVar16 != PTR_to_files_void_00077a70) break;" if (parenthesized_expression "(puVar16 != PTR_to_files_void_00077a70)" ( (binary_expression "puVar16 != PTR_to_files_void_00077a70" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar22 = do_browse_from(*(undefined4 *)puVar13);" (assignment_expression "iVar22 = do_browse_from(*(undefined4 *)puVar13)" identifier = (call_expression "do_browse_from(*(undefined4 *)puVar13)" identifier (argument_list "(*(undefined4 *)puVar13)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" { (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" else (compound_statement "{\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" { (expression_statement "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);" (call_expression "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" ( (pointer_expression "*(code *)PTR_free_0007810c" * (cast_expression "(code *)PTR_free_0007810c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar13)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = puVar16 != PTR_flip_pipe_00077a74;" (assignment_expression "bVar1 = puVar16 != PTR_flip_pipe_00077a74" identifier = (binary_expression "puVar16 != PTR_flip_pipe_00077a74" identifier != identifier)) ;) (expression_statement "*(int *)puVar13 = iVar22;" (assignment_expression "*(int *)puVar13 = iVar22" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (bVar1) goto LAB_000223f0;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_000223f0;" goto statement_identifier ;)) (labeled_statement "LAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();" statement_identifier : (expression_statement "add_or_remove_pipe_symbol_from_answer();" (call_expression "add_or_remove_pipe_symbol_from_answer()" identifier (argument_list "()" ( ))) ;)) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }))) })) (if_statement "if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;" if (parenthesized_expression "(puVar16 == PTR_flip_pipe_00077a74)" ( (binary_expression "puVar16 == PTR_flip_pipe_00077a74" identifier == identifier) )) (goto_statement "goto LAB_000224a4;" goto statement_identifier ;)) (if_statement "if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" { (labeled_statement "LAB_000223f0:\n      if (!bVar2) goto LAB_00022218;" statement_identifier : (if_statement "if (!bVar2) goto LAB_00022218;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_00022218;" goto statement_identifier ;))) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00022558;" goto statement_identifier ;)) (if_statement "if (**(char **)puVar13 == '\0') goto LAB_00022418;" if (parenthesized_expression "(**(char **)puVar13 == '\0')" ( (binary_expression "**(char **)puVar13 == '\0'" (pointer_expression "**(char **)puVar13" * (pointer_expression "*(char **)puVar13" * (cast_expression "(char **)puVar13" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022418;" goto statement_identifier ;)) (goto_statement "goto LAB_000225b0;" goto statement_identifier ;) })) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) while (parenthesized_expression "((uVar10 == 0) || (local_38 != -2))" ( (binary_expression "(uVar10 == 0) || (local_38 != -2)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_38 != -2)" ( (binary_expression "local_38 != -2" identifier != number_literal) ))) )) ;) (if_statement "if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }" { (labeled_statement "LAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);" statement_identifier : (expression_statement "open_buffer(puVar24 + 0x2cac,1);" (call_expression "open_buffer(puVar24 + 0x2cac,1)" identifier (argument_list "(puVar24 + 0x2cac,1)" ( (binary_expression "puVar24 + 0x2cac" identifier + number_literal) , number_literal ))) ;)) (if_statement "if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" if (parenthesized_expression "(**(char **)puVar13 != '\0')" ( (binary_expression "**(char **)puVar13 != '\0'" (pointer_expression "**(char **)puVar13" * (pointer_expression "*(char **)puVar13" * (cast_expression "(char **)puVar13" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" { (labeled_statement "LAB_000225b0:\n      execute_command();" statement_identifier : (expression_statement "execute_command();" (call_expression "execute_command()" identifier (argument_list "()" ( ))) ;)) (expression_statement "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);" (call_expression "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" identifier (argument_list "(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" { (expression_statement "*(undefined4 *)(iVar22 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x1c)" * (cast_expression "(undefined4 *)(iVar22 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);" (assignment_expression "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4)" (pointer_expression "*(undefined4 *)(iVar22 + 0x10)" * (cast_expression "(undefined4 *)(iVar22 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10)" ( (binary_expression "iVar22 + 0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar22 + 4)" * (cast_expression "(undefined4 *)(iVar22 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar22 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x20)" * (cast_expression "(undefined4 *)(iVar22 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x20)" ( (binary_expression "iVar22 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00022260;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" else (compound_statement "{\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" { (labeled_statement "LAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;" statement_identifier : (expression_statement "uVar23 = *(undefined4 *)puVar13;" (assignment_expression "uVar23 = *(undefined4 *)puVar13" identifier = (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "uVar11 = real_dir_from_tilde(uVar23);" (assignment_expression "uVar11 = real_dir_from_tilde(uVar23)" identifier = (call_expression "real_dir_from_tilde(uVar23)" identifier (argument_list "(uVar23)" ( identifier )))) ;) (expression_statement "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);" (assignment_expression "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" identifier = (call_expression "(*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" (parenthesized_expression "(*(code *)PTR_free_and_assign_0007793c)" ( (pointer_expression "*(code *)PTR_free_and_assign_0007793c" * (cast_expression "(code *)PTR_free_and_assign_0007793c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar23,uVar11)" ( identifier , identifier )))) ;) (expression_statement "iVar22 = *(int *)puVar4;" (assignment_expression "iVar22 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)puVar13 = uVar11;" (assignment_expression "*(undefined4 *)puVar13 = uVar11" (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);" (call_expression "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" identifier (argument_list "(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" ( identifier , (binary_expression "(uint)(iVar22 << 0x12) >> 0x1f" (call_expression "(uint)(iVar22 << 0x12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar22 << 0x12)" ( (binary_expression "iVar22 << 0x12" identifier << number_literal) ))) >> number_literal) ))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" statement_identifier : (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" { (if_statement "if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" if (parenthesized_expression "((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0))" ( (binary_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" (parenthesized_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2))" ( (binary_expression "((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)" (parenthesized_expression "((*(uint *)(puVar4 + 4) & 4) != 0)" ( (binary_expression "(*(uint *)(puVar4 + 4) & 4) != 0" (parenthesized_expression "(*(uint *)(puVar4 + 4) & 4)" ( (binary_expression "*(uint *)(puVar4 + 4) & 4" (pointer_expression "*(uint *)(puVar4 + 4)" * (cast_expression "(uint *)(puVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 4)" ( (binary_expression "puVar4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) ))) )) && (parenthesized_expression "(iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" ( (comma_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0" (assignment_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" identifier = (call_expression "has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" identifier (argument_list "(*(undefined4 *)puVar13,&local_34,&local_30)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" { (expression_statement "do_gotolinecolumn(local_34,local_30,0,0);" (call_expression "do_gotolinecolumn(local_34,local_30,0,0)" identifier (argument_list "(local_34,local_30,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) })) (expression_statement "prepare_for_display();" (call_expression "prepare_for_display()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) }))) (labeled_statement "LAB_00022418:\n    iVar22 = *(int *)puVar3;" statement_identifier : (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }))) (if_statement "if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" if (parenthesized_expression "((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14))" ( (binary_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)" (parenthesized_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15)" ( (binary_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15" (pointer_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(iVar22 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar22 + 0x10) + 4)" ( (binary_expression "*(int *)(iVar22 + 0x10) + 4" (pointer_expression "*(int *)(iVar22 + 0x10)" * (cast_expression "(int *)(iVar22 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10)" ( (binary_expression "iVar22 + 0x10" identifier + number_literal) )))) + number_literal) )))) != identifier) )) || (parenthesized_expression "(*(int *)(iVar22 + 0x1c) != iVar14)" ( (binary_expression "*(int *)(iVar22 + 0x1c) != iVar14" (pointer_expression "*(int *)(iVar22 + 0x1c)" * (cast_expression "(int *)(iVar22 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) != identifier) ))) )) (compound_statement "{\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" { (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "*(undefined4 *)(iVar22 + 0x3c) = uVar18;" (assignment_expression "*(undefined4 *)(iVar22 + 0x3c) = uVar18" (pointer_expression "*(undefined4 *)(iVar22 + 0x3c)" * (cast_expression "(undefined4 *)(iVar22 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x3c)" ( (binary_expression "iVar22 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*PTR_refresh_needed_000775a4 = 1;" (assignment_expression "*PTR_refresh_needed_000775a4 = 1" (pointer_expression "*PTR_refresh_needed_000775a4" * identifier) = number_literal) ;) (labeled_statement "LAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);" statement_identifier : (expression_statement "(*(code *)PTR_free_0007810c)(uVar9);" (call_expression "(*(code *)PTR_free_0007810c)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" ( (pointer_expression "*(code *)PTR_free_0007810c" * (cast_expression "(code *)PTR_free_0007810c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))) ;)) (if_statement "if (local_2c == *(int *)puVar8) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar8)" ( (binary_expression "local_2c == *(int *)puVar8" identifier == (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar24 = PTR___stack_chk_fail_000780c0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_000780c0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000780c0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000780c0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000780c0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000780c0" * (cast_expression "(code *)PTR___stack_chk_fail_000780c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }" if (parenthesized_expression "(**(int **)(puVar24 + 0x54fb0) << 8 < 0)" ( (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8 < 0" (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8" (pointer_expression "**(int **)(puVar24 + 0x54fb0)" * (pointer_expression "*(int **)(puVar24 + 0x54fb0)" * (cast_expression "(int **)(puVar24 + 0x54fb0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x54fb0)" ( (binary_expression "puVar24 + 0x54fb0" identifier + number_literal) ))))) << number_literal) < number_literal) )) (compound_statement "{\n    show_restricted_warning();\n    return;\n  }" { (expression_statement "show_restricted_warning();" (call_expression "show_restricted_warning()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "do_insertfile();" (call_expression "do_insertfile()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid do_insertfile(void)\n\n{\n  bool bVar1;\n  undefined3 extraout_var;\n  int *piVar2;\n  char *curranswer;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  int iVar6;\n  functionptrtype p_Var7;\n  _Bool _Var8;\n  int iVar9;\n  _func_void *refresh_func;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  filestruct **history_list;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  functionptrtype p_Var17;\n  int iVar18;\n  uint *puVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  char *buf;\n  int *piVar22;\n  int iVar23;\n  int in_t9;\n  code *pcVar24;\n  int *piVar25;\n  int i;\n  ssize_t priorline;\n  ssize_t priorcol;\n  int local_2c;\n  \n  iVar9 = *(int *)(in_t9 + 0x55570);\n  piVar2 = *(int **)(in_t9 + 0x5610c);\n  refresh_func = *(_func_void **)(in_t9 + 0x558c8);\n  iVar10 = *(int *)(in_t9 + 0x55570);\n  piVar22 = *(int **)(in_t9 + 0x55580);\n  local_2c = *piVar2;\n  bVar1 = false;\n  iVar11 = *(int *)(in_t9 + 0x55570);\n  puVar19 = *(uint **)(in_t9 + 0x555b0);\n  piVar25 = *(int **)(in_t9 + 0x557bc);\n  iVar23 = *(int *)(in_t9 + 0x55570);\n  puVar21 = *(undefined4 **)(in_t9 + 0x558ec);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac);\n  uVar12 = *puVar19;\n  uVar13 = *(undefined4 *)(*piVar22 + 0x3c);\n  uVar3 = uVar12 & 0x2000;\n  iVar14 = *(int *)(in_t9 + 0x55570);\n  **(undefined1 **)(in_t9 + 0x558c0) = 0;\n  iVar15 = *(int *)(in_t9 + 0x55570);\n  iVar16 = *(int *)(in_t9 + 0x55570);\nLAB_000220c8:\n  if (bVar1) {\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }\n  else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }\n  if (iVar6 == 0) {\n    iVar6 = iVar23 + -0xa2c;\n  }\n  i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6);\n  if (i == -1) {\n    iVar18 = *(int *)(in_t9 + 0x55570);\nLAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);\n    (**(code **)(in_t9 + 0x555d8))(uVar13);\n    goto LAB_00022298;\n  }\n  if ((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))\n  goto LAB_0002252c;\n  puVar20 = *(undefined4 **)(in_t9 + 0x55940);\n  iVar18 = *(int *)(*piVar22 + 0x1c);\n  iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4);\n  p_Var7 = func_from_key(&i);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)) {\n    if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)) {\n    uVar12 = *puVar19 ^ 0x20000;\n    *puVar19 = uVar12;\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)) {\n    uVar12 = *puVar19;\n    bVar1 = (bool)(bVar1 ^ 1);\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)) {\n    pcVar4 = do_browse_from((char *)*puVar20);\n    if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)) goto LAB_000224a4;\n  if (i == 0) {\nLAB_000223f0:\n    if (!bVar1) goto LAB_00022218;\n    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 == '\0') goto LAB_00022418;\n    goto LAB_000225b0;\n  }\n  uVar12 = *puVar19;\n  uVar3 = uVar12 & 0x2000;\n  if ((uVar3 == 0) || (i != -2)) goto LAB_000220c8;\n  if (bVar1) {\nLAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }\n    iVar9 = *piVar22;\n    if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }\n  if ((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)) {\n    set_modified();\n    iVar9 = *piVar22;\n  }\n  *(undefined4 *)(iVar9 + 0x3c) = uVar13;\n  **(undefined1 **)(in_t9 + 0x555b8) = 1;\nLAB_00022298:\n  (**(code **)(in_t9 + 0x56120))(curranswer);\n  if (local_2c == *piVar2) {\n    return;\n  }\n  pcVar24 = *(code **)(in_t9 + 0x560d4);\n  (*pcVar24)();\n  if (**(int **)(pcVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}\n\n" comment (function_definition "void do_insertfile(void)\n\n{\n  bool bVar1;\n  undefined3 extraout_var;\n  int *piVar2;\n  char *curranswer;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  int iVar6;\n  functionptrtype p_Var7;\n  _Bool _Var8;\n  int iVar9;\n  _func_void *refresh_func;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  filestruct **history_list;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  functionptrtype p_Var17;\n  int iVar18;\n  uint *puVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  char *buf;\n  int *piVar22;\n  int iVar23;\n  int in_t9;\n  code *pcVar24;\n  int *piVar25;\n  int i;\n  ssize_t priorline;\n  ssize_t priorcol;\n  int local_2c;\n  \n  iVar9 = *(int *)(in_t9 + 0x55570);\n  piVar2 = *(int **)(in_t9 + 0x5610c);\n  refresh_func = *(_func_void **)(in_t9 + 0x558c8);\n  iVar10 = *(int *)(in_t9 + 0x55570);\n  piVar22 = *(int **)(in_t9 + 0x55580);\n  local_2c = *piVar2;\n  bVar1 = false;\n  iVar11 = *(int *)(in_t9 + 0x55570);\n  puVar19 = *(uint **)(in_t9 + 0x555b0);\n  piVar25 = *(int **)(in_t9 + 0x557bc);\n  iVar23 = *(int *)(in_t9 + 0x55570);\n  puVar21 = *(undefined4 **)(in_t9 + 0x558ec);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac);\n  uVar12 = *puVar19;\n  uVar13 = *(undefined4 *)(*piVar22 + 0x3c);\n  uVar3 = uVar12 & 0x2000;\n  iVar14 = *(int *)(in_t9 + 0x55570);\n  **(undefined1 **)(in_t9 + 0x558c0) = 0;\n  iVar15 = *(int *)(in_t9 + 0x55570);\n  iVar16 = *(int *)(in_t9 + 0x55570);\nLAB_000220c8:\n  if (bVar1) {\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }\n  else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }\n  if (iVar6 == 0) {\n    iVar6 = iVar23 + -0xa2c;\n  }\n  i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6);\n  if (i == -1) {\n    iVar18 = *(int *)(in_t9 + 0x55570);\nLAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);\n    (**(code **)(in_t9 + 0x555d8))(uVar13);\n    goto LAB_00022298;\n  }\n  if ((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))\n  goto LAB_0002252c;\n  puVar20 = *(undefined4 **)(in_t9 + 0x55940);\n  iVar18 = *(int *)(*piVar22 + 0x1c);\n  iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4);\n  p_Var7 = func_from_key(&i);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)) {\n    if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)) {\n    uVar12 = *puVar19 ^ 0x20000;\n    *puVar19 = uVar12;\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)) {\n    uVar12 = *puVar19;\n    bVar1 = (bool)(bVar1 ^ 1);\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)) {\n    pcVar4 = do_browse_from((char *)*puVar20);\n    if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)) goto LAB_000224a4;\n  if (i == 0) {\nLAB_000223f0:\n    if (!bVar1) goto LAB_00022218;\n    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 == '\0') goto LAB_00022418;\n    goto LAB_000225b0;\n  }\n  uVar12 = *puVar19;\n  uVar3 = uVar12 & 0x2000;\n  if ((uVar3 == 0) || (i != -2)) goto LAB_000220c8;\n  if (bVar1) {\nLAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }\n    iVar9 = *piVar22;\n    if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }\n  if ((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)) {\n    set_modified();\n    iVar9 = *piVar22;\n  }\n  *(undefined4 *)(iVar9 + 0x3c) = uVar13;\n  **(undefined1 **)(in_t9 + 0x555b8) = 1;\nLAB_00022298:\n  (**(code **)(in_t9 + 0x56120))(curranswer);\n  if (local_2c == *piVar2) {\n    return;\n  }\n  pcVar24 = *(code **)(in_t9 + 0x560d4);\n  (*pcVar24)();\n  if (**(int **)(pcVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" primitive_type (function_declarator "do_insertfile(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bool bVar1;\n  undefined3 extraout_var;\n  int *piVar2;\n  char *curranswer;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  int iVar6;\n  functionptrtype p_Var7;\n  _Bool _Var8;\n  int iVar9;\n  _func_void *refresh_func;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  filestruct **history_list;\n  undefined4 uVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  functionptrtype p_Var17;\n  int iVar18;\n  uint *puVar19;\n  undefined4 *puVar20;\n  undefined4 *puVar21;\n  char *buf;\n  int *piVar22;\n  int iVar23;\n  int in_t9;\n  code *pcVar24;\n  int *piVar25;\n  int i;\n  ssize_t priorline;\n  ssize_t priorcol;\n  int local_2c;\n  \n  iVar9 = *(int *)(in_t9 + 0x55570);\n  piVar2 = *(int **)(in_t9 + 0x5610c);\n  refresh_func = *(_func_void **)(in_t9 + 0x558c8);\n  iVar10 = *(int *)(in_t9 + 0x55570);\n  piVar22 = *(int **)(in_t9 + 0x55580);\n  local_2c = *piVar2;\n  bVar1 = false;\n  iVar11 = *(int *)(in_t9 + 0x55570);\n  puVar19 = *(uint **)(in_t9 + 0x555b0);\n  piVar25 = *(int **)(in_t9 + 0x557bc);\n  iVar23 = *(int *)(in_t9 + 0x55570);\n  puVar21 = *(undefined4 **)(in_t9 + 0x558ec);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac);\n  uVar12 = *puVar19;\n  uVar13 = *(undefined4 *)(*piVar22 + 0x3c);\n  uVar3 = uVar12 & 0x2000;\n  iVar14 = *(int *)(in_t9 + 0x55570);\n  **(undefined1 **)(in_t9 + 0x558c0) = 0;\n  iVar15 = *(int *)(in_t9 + 0x55570);\n  iVar16 = *(int *)(in_t9 + 0x55570);\nLAB_000220c8:\n  if (bVar1) {\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }\n  else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }\n  if (iVar6 == 0) {\n    iVar6 = iVar23 + -0xa2c;\n  }\n  i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6);\n  if (i == -1) {\n    iVar18 = *(int *)(in_t9 + 0x55570);\nLAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);\n    (**(code **)(in_t9 + 0x555d8))(uVar13);\n    goto LAB_00022298;\n  }\n  if ((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))\n  goto LAB_0002252c;\n  puVar20 = *(undefined4 **)(in_t9 + 0x55940);\n  iVar18 = *(int *)(*piVar22 + 0x1c);\n  iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4);\n  p_Var7 = func_from_key(&i);\n  curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)) {\n    if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)) {\n    uVar12 = *puVar19 ^ 0x20000;\n    *puVar19 = uVar12;\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)) {\n    uVar12 = *puVar19;\n    bVar1 = (bool)(bVar1 ^ 1);\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)) {\n    pcVar4 = do_browse_from((char *)*puVar20);\n    if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }\n  if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)) goto LAB_000224a4;\n  if (i == 0) {\nLAB_000223f0:\n    if (!bVar1) goto LAB_00022218;\n    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 == '\0') goto LAB_00022418;\n    goto LAB_000225b0;\n  }\n  uVar12 = *puVar19;\n  uVar3 = uVar12 & 0x2000;\n  if ((uVar3 == 0) || (i != -2)) goto LAB_000220c8;\n  if (bVar1) {\nLAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }\n    iVar9 = *piVar22;\n    if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }\n  if ((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)) {\n    set_modified();\n    iVar9 = *piVar22;\n  }\n  *(undefined4 *)(iVar9 + 0x3c) = uVar13;\n  **(undefined1 **)(in_t9 + 0x555b8) = 1;\nLAB_00022298:\n  (**(code **)(in_t9 + 0x56120))(curranswer);\n  if (local_2c == *piVar2) {\n    return;\n  }\n  pcVar24 = *(code **)(in_t9 + 0x560d4);\n  (*pcVar24)();\n  if (**(int **)(pcVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined3 extraout_var;" type_identifier identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "char *curranswer;" primitive_type (pointer_declarator "*curranswer" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "functionptrtype p_Var7;" type_identifier identifier ;) (declaration "_Bool _Var8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "_func_void *refresh_func;" type_identifier (pointer_declarator "*refresh_func" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "filestruct **history_list;" type_identifier (pointer_declarator "**history_list" * (pointer_declarator "*history_list" * identifier)) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "functionptrtype p_Var17;" type_identifier identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "uint *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "char *buf;" primitive_type (pointer_declarator "*buf" * identifier) ;) (declaration "int *piVar22;" primitive_type (pointer_declarator "*piVar22" * identifier) ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar24;" type_identifier (pointer_declarator "*pcVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "int i;" primitive_type identifier ;) (declaration "ssize_t priorline;" primitive_type identifier ;) (declaration "ssize_t priorcol;" primitive_type identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "iVar9 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar9 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "piVar2 = *(int **)(in_t9 + 0x5610c);" (assignment_expression "piVar2 = *(int **)(in_t9 + 0x5610c)" identifier = (pointer_expression "*(int **)(in_t9 + 0x5610c)" * (cast_expression "(int **)(in_t9 + 0x5610c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5610c)" ( (binary_expression "in_t9 + 0x5610c" identifier + number_literal) ))))) ;) (expression_statement "refresh_func = *(_func_void **)(in_t9 + 0x558c8);" (assignment_expression "refresh_func = *(_func_void **)(in_t9 + 0x558c8)" identifier = (pointer_expression "*(_func_void **)(in_t9 + 0x558c8)" * (cast_expression "(_func_void **)(in_t9 + 0x558c8)" ( (type_descriptor "_func_void **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x558c8)" ( (binary_expression "in_t9 + 0x558c8" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar10 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "piVar22 = *(int **)(in_t9 + 0x55580);" (assignment_expression "piVar22 = *(int **)(in_t9 + 0x55580)" identifier = (pointer_expression "*(int **)(in_t9 + 0x55580)" * (cast_expression "(int **)(in_t9 + 0x55580)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x55580)" ( (binary_expression "in_t9 + 0x55580" identifier + number_literal) ))))) ;) (expression_statement "local_2c = *piVar2;" (assignment_expression "local_2c = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "iVar11 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar11 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "puVar19 = *(uint **)(in_t9 + 0x555b0);" (assignment_expression "puVar19 = *(uint **)(in_t9 + 0x555b0)" identifier = (pointer_expression "*(uint **)(in_t9 + 0x555b0)" * (cast_expression "(uint **)(in_t9 + 0x555b0)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x555b0)" ( (binary_expression "in_t9 + 0x555b0" identifier + number_literal) ))))) ;) (expression_statement "piVar25 = *(int **)(in_t9 + 0x557bc);" (assignment_expression "piVar25 = *(int **)(in_t9 + 0x557bc)" identifier = (pointer_expression "*(int **)(in_t9 + 0x557bc)" * (cast_expression "(int **)(in_t9 + 0x557bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x557bc)" ( (binary_expression "in_t9 + 0x557bc" identifier + number_literal) ))))) ;) (expression_statement "iVar23 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar23 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "puVar21 = *(undefined4 **)(in_t9 + 0x558ec);" (assignment_expression "puVar21 = *(undefined4 **)(in_t9 + 0x558ec)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x558ec)" * (cast_expression "(undefined4 **)(in_t9 + 0x558ec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x558ec)" ( (binary_expression "in_t9 + 0x558ec" identifier + number_literal) ))))) ;) (expression_statement "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac);" (assignment_expression "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x5557c))(0,iVar9 + 0x2cac)" (parenthesized_expression "(**(code **)(in_t9 + 0x5557c))" ( (pointer_expression "**(code **)(in_t9 + 0x5557c)" * (pointer_expression "*(code **)(in_t9 + 0x5557c)" * (cast_expression "(code **)(in_t9 + 0x5557c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5557c)" ( (binary_expression "in_t9 + 0x5557c" identifier + number_literal) ))))) )) (argument_list "(0,iVar9 + 0x2cac)" ( number_literal , (binary_expression "iVar9 + 0x2cac" identifier + number_literal) ))))) ;) (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "uVar13 = *(undefined4 *)(*piVar22 + 0x3c);" (assignment_expression "uVar13 = *(undefined4 *)(*piVar22 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)(*piVar22 + 0x3c)" * (cast_expression "(undefined4 *)(*piVar22 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar22 + 0x3c)" ( (binary_expression "*piVar22 + 0x3c" (pointer_expression "*piVar22" * identifier) + number_literal) ))))) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) (expression_statement "iVar14 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar14 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "**(undefined1 **)(in_t9 + 0x558c0) = 0;" (assignment_expression "**(undefined1 **)(in_t9 + 0x558c0) = 0" (pointer_expression "**(undefined1 **)(in_t9 + 0x558c0)" * (pointer_expression "*(undefined1 **)(in_t9 + 0x558c0)" * (cast_expression "(undefined1 **)(in_t9 + 0x558c0)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x558c0)" ( (binary_expression "in_t9 + 0x558c0" identifier + number_literal) ))))) = number_literal) ;) (expression_statement "iVar15 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar15 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar16 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000220c8:\n  if (bVar1) {\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }\n  else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }" statement_identifier : (if_statement "if (bVar1) {\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }\n  else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x80;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = *(filestruct ***)(in_t9 + 0x55a74);\n  }" { (if_statement "if (uVar3 == 0) {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }\n    else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);\n    }" { (expression_statement "pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5);" (assignment_expression "pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x560e0))(0,iVar11 + -0xa04,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x560e0))" ( (pointer_expression "**(code **)(in_t9 + 0x560e0)" * (pointer_expression "*(code **)(in_t9 + 0x560e0)" * (cast_expression "(code **)(in_t9 + 0x560e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x560e0)" ( (binary_expression "in_t9 + 0x560e0" identifier + number_literal) ))))) )) (argument_list "(0,iVar11 + -0xa04,5)" ( number_literal , (binary_expression "iVar11 + -0xa04" identifier + number_literal) , number_literal ))))) ;) }) (else_clause "else {\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }" else (compound_statement "{\n      pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);\n    }" { (expression_statement "pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5);" (assignment_expression "pcVar4 = (char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x560e0))(0,*(int *)(in_t9 + 0x55570) + -0xa28,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x560e0))" ( (pointer_expression "**(code **)(in_t9 + 0x560e0)" * (pointer_expression "*(code **)(in_t9 + 0x560e0)" * (cast_expression "(code **)(in_t9 + 0x560e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x560e0)" ( (binary_expression "in_t9 + 0x560e0" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(in_t9 + 0x55570) + -0xa28,5)" ( number_literal , (binary_expression "*(int *)(in_t9 + 0x55570) + -0xa28" (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) }))) (expression_statement "uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);" (assignment_expression "uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c)" identifier = (call_expression "(**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c)" (parenthesized_expression "(**(code **)(in_t9 + 0x5557c))" ( (pointer_expression "**(code **)(in_t9 + 0x5557c)" * (pointer_expression "*(code **)(in_t9 + 0x5557c)" * (cast_expression "(code **)(in_t9 + 0x5557c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5557c)" ( (binary_expression "in_t9 + 0x5557c" identifier + number_literal) ))))) )) (argument_list "(*puVar21,iVar23 + -0xa2c)" ( (pointer_expression "*puVar21" * identifier) , (binary_expression "iVar23 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "iVar18 = 0x80;" (assignment_expression "iVar18 = 0x80" identifier = number_literal) ;) (expression_statement "*puVar21 = uVar5;" (assignment_expression "*puVar21 = uVar5" (pointer_expression "*puVar21" * identifier) = identifier) ;) (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "history_list = *(filestruct ***)(in_t9 + 0x55a74);" (assignment_expression "history_list = *(filestruct ***)(in_t9 + 0x55a74)" identifier = (pointer_expression "*(filestruct ***)(in_t9 + 0x55a74)" * (cast_expression "(filestruct ***)(in_t9 + 0x55a74)" ( (type_descriptor "filestruct ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(in_t9 + 0x55a74)" ( (binary_expression "in_t9 + 0x55a74" identifier + number_literal) ))))) ;) }) (else_clause "else {\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }" else (compound_statement "{\n    pcVar24 = *(code **)(in_t9 + 0x560e0);\n    if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }\n    uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);\n    iVar18 = 0x40;\n    *puVar21 = uVar5;\n    iVar6 = *piVar25;\n    history_list = (filestruct **)0x0;\n  }" { (expression_statement "pcVar24 = *(code **)(in_t9 + 0x560e0);" (assignment_expression "pcVar24 = *(code **)(in_t9 + 0x560e0)" identifier = (pointer_expression "*(code **)(in_t9 + 0x560e0)" * (cast_expression "(code **)(in_t9 + 0x560e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x560e0)" ( (binary_expression "in_t9 + 0x560e0" identifier + number_literal) ))))) ;) (if_statement "if (uVar3 == 0) {\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }\n    else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }\n    }" { (if_statement "if ((uVar12 & 0x20000) == 0) {\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }\n      else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }" if (parenthesized_expression "((uVar12 & 0x20000) == 0)" ( (binary_expression "(uVar12 & 0x20000) == 0" (parenthesized_expression "(uVar12 & 0x20000)" ( (binary_expression "uVar12 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);\n      }" { (expression_statement "pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5);" (assignment_expression "pcVar4 = (char *)(*pcVar24)(0,iVar14 + -0x96c,5)" identifier = (cast_expression "(char *)(*pcVar24)(0,iVar14 + -0x96c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)(0,iVar14 + -0x96c,5)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0,iVar14 + -0x96c,5)" ( number_literal , (binary_expression "iVar14 + -0x96c" identifier + number_literal) , number_literal ))))) ;) }) (else_clause "else {\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }" else (compound_statement "{\n        pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);\n      }" { (expression_statement "pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994);" (assignment_expression "pcVar4 = (char *)(*pcVar24)(0,iVar15 + -0x994)" identifier = (cast_expression "(char *)(*pcVar24)(0,iVar15 + -0x994)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)(0,iVar15 + -0x994)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0,iVar15 + -0x994)" ( number_literal , (binary_expression "iVar15 + -0x994" identifier + number_literal) ))))) ;) }))) }) (else_clause "else if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }" else (if_statement "if ((uVar12 & 0x20000) == 0) {\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }\n    else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }" if (parenthesized_expression "((uVar12 & 0x20000) == 0)" ( (binary_expression "(uVar12 & 0x20000) == 0" (parenthesized_expression "(uVar12 & 0x20000)" ( (binary_expression "uVar12 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);\n    }" { (expression_statement "pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc);" (assignment_expression "pcVar4 = (char *)(*pcVar24)(0,iVar10 + -0x9bc)" identifier = (cast_expression "(char *)(*pcVar24)(0,iVar10 + -0x9bc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)(0,iVar10 + -0x9bc)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0,iVar10 + -0x9bc)" ( number_literal , (binary_expression "iVar10 + -0x9bc" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }" else (compound_statement "{\n      pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);\n    }" { (expression_statement "pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0);" (assignment_expression "pcVar4 = (char *)(*pcVar24)(0,iVar16 + -0x9f0)" identifier = (cast_expression "(char *)(*pcVar24)(0,iVar16 + -0x9f0)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar24)(0,iVar16 + -0x9f0)" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "(0,iVar16 + -0x9f0)" ( number_literal , (binary_expression "iVar16 + -0x9f0" identifier + number_literal) ))))) ;) }))))) (expression_statement "uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c);" (assignment_expression "uVar5 = (**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c)" identifier = (call_expression "(**(code **)(in_t9 + 0x5557c))(*puVar21,iVar23 + -0xa2c)" (parenthesized_expression "(**(code **)(in_t9 + 0x5557c))" ( (pointer_expression "**(code **)(in_t9 + 0x5557c)" * (pointer_expression "*(code **)(in_t9 + 0x5557c)" * (cast_expression "(code **)(in_t9 + 0x5557c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5557c)" ( (binary_expression "in_t9 + 0x5557c" identifier + number_literal) ))))) )) (argument_list "(*puVar21,iVar23 + -0xa2c)" ( (pointer_expression "*puVar21" * identifier) , (binary_expression "iVar23 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "iVar18 = 0x40;" (assignment_expression "iVar18 = 0x40" identifier = number_literal) ;) (expression_statement "*puVar21 = uVar5;" (assignment_expression "*puVar21 = uVar5" (pointer_expression "*puVar21" * identifier) = identifier) ;) (expression_statement "iVar6 = *piVar25;" (assignment_expression "iVar6 = *piVar25" identifier = (pointer_expression "*piVar25" * identifier)) ;) (expression_statement "history_list = (filestruct **)0x0;" (assignment_expression "history_list = (filestruct **)0x0" identifier = (cast_expression "(filestruct **)0x0" ( (type_descriptor "filestruct **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })))) (if_statement "if (iVar6 == 0) {\n    iVar6 = iVar23 + -0xa2c;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar6 = iVar23 + -0xa2c;\n  }" { (expression_statement "iVar6 = iVar23 + -0xa2c;" (assignment_expression "iVar6 = iVar23 + -0xa2c" identifier = (binary_expression "iVar23 + -0xa2c" identifier + number_literal)) ;) })) (expression_statement "i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6);" (assignment_expression "i = do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6)" identifier = (call_expression "do_prompt(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6)" identifier (argument_list "(true,true,iVar18,curranswer,history_list,refresh_func,pcVar4,iVar6)" ( true , true , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (i == -1) {\n    iVar18 = *(int *)(in_t9 + 0x55570);\nLAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);\n    (**(code **)(in_t9 + 0x555d8))(uVar13);\n    goto LAB_00022298;\n  }" if (parenthesized_expression "(i == -1)" ( (binary_expression "i == -1" identifier == number_literal) )) (compound_statement "{\n    iVar18 = *(int *)(in_t9 + 0x55570);\nLAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);\n    (**(code **)(in_t9 + 0x555d8))(uVar13);\n    goto LAB_00022298;\n  }" { (expression_statement "iVar18 = *(int *)(in_t9 + 0x55570);" (assignment_expression "iVar18 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) ;) (labeled_statement "LAB_0002252c:\n    uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);" statement_identifier : (expression_statement "uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5);" (assignment_expression "uVar13 = (**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5)" identifier = (call_expression "(**(code **)(in_t9 + 0x560e0))(0,iVar18 + -0x1200,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x560e0))" ( (pointer_expression "**(code **)(in_t9 + 0x560e0)" * (pointer_expression "*(code **)(in_t9 + 0x560e0)" * (cast_expression "(code **)(in_t9 + 0x560e0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x560e0)" ( (binary_expression "in_t9 + 0x560e0" identifier + number_literal) ))))) )) (argument_list "(0,iVar18 + -0x1200,5)" ( number_literal , (binary_expression "iVar18 + -0x1200" identifier + number_literal) , number_literal )))) ;)) (expression_statement "(**(code **)(in_t9 + 0x555d8))(uVar13);" (call_expression "(**(code **)(in_t9 + 0x555d8))(uVar13)" (parenthesized_expression "(**(code **)(in_t9 + 0x555d8))" ( (pointer_expression "**(code **)(in_t9 + 0x555d8)" * (pointer_expression "*(code **)(in_t9 + 0x555d8)" * (cast_expression "(code **)(in_t9 + 0x555d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x555d8)" ( (binary_expression "in_t9 + 0x555d8" identifier + number_literal) ))))) )) (argument_list "(uVar13)" ( identifier ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) })) (if_statement "if ((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))\n  goto LAB_0002252c;" if (parenthesized_expression "((i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0))" ( (binary_expression "(i == -2) && (iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0)" (parenthesized_expression "(i == -2)" ( (binary_expression "i == -2" identifier == number_literal) )) && (parenthesized_expression "(iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0)" ( (comma_expression "iVar18 = *(int *)(in_t9 + 0x55570), (*puVar19 & 0x2000) == 0" (assignment_expression "iVar18 = *(int *)(in_t9 + 0x55570)" identifier = (pointer_expression "*(int *)(in_t9 + 0x55570)" * (cast_expression "(int *)(in_t9 + 0x55570)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55570)" ( (binary_expression "in_t9 + 0x55570" identifier + number_literal) ))))) , (binary_expression "(*puVar19 & 0x2000) == 0" (parenthesized_expression "(*puVar19 & 0x2000)" ( (binary_expression "*puVar19 & 0x2000" (pointer_expression "*puVar19" * identifier) & number_literal) )) == number_literal)) ))) )) (goto_statement "goto LAB_0002252c;" goto statement_identifier ;)) (expression_statement "puVar20 = *(undefined4 **)(in_t9 + 0x55940);" (assignment_expression "puVar20 = *(undefined4 **)(in_t9 + 0x55940)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x55940)" * (cast_expression "(undefined4 **)(in_t9 + 0x55940)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x55940)" ( (binary_expression "in_t9 + 0x55940" identifier + number_literal) ))))) ;) (expression_statement "iVar18 = *(int *)(*piVar22 + 0x1c);" (assignment_expression "iVar18 = *(int *)(*piVar22 + 0x1c)" identifier = (pointer_expression "*(int *)(*piVar22 + 0x1c)" * (cast_expression "(int *)(*piVar22 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar22 + 0x1c)" ( (binary_expression "*piVar22 + 0x1c" (pointer_expression "*piVar22" * identifier) + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4);" (assignment_expression "iVar6 = *(int *)(*(int *)(*piVar22 + 0x10) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*piVar22 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(*piVar22 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*piVar22 + 0x10) + 4)" ( (binary_expression "*(int *)(*piVar22 + 0x10) + 4" (pointer_expression "*(int *)(*piVar22 + 0x10)" * (cast_expression "(int *)(*piVar22 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar22 + 0x10)" ( (binary_expression "*piVar22 + 0x10" (pointer_expression "*piVar22" * identifier) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "p_Var7 = func_from_key(&i);" (assignment_expression "p_Var7 = func_from_key(&i)" identifier = (call_expression "func_from_key(&i)" identifier (argument_list "(&i)" ( (pointer_expression "&i" & identifier) )))) ;) (expression_statement "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);" (assignment_expression "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" (parenthesized_expression "(**(code **)(in_t9 + 0x5557c))" ( (pointer_expression "**(code **)(in_t9 + 0x5557c)" * (pointer_expression "*(code **)(in_t9 + 0x5557c)" * (cast_expression "(code **)(in_t9 + 0x5557c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5557c)" ( (binary_expression "in_t9 + 0x5557c" identifier + number_literal) ))))) )) (argument_list "(curranswer,*puVar20)" ( identifier , (pointer_expression "*puVar20" * identifier) ))))) ;) (if_statement "if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)) {\n    if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }" if (parenthesized_expression "(p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78))" ( (binary_expression "p_Var7 == *(functionptrtype *)(in_t9 + 0x55a78)" identifier == (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a78)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a78)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a78)" ( (binary_expression "in_t9 + 0x55a78" identifier + number_literal) ))))) )) (compound_statement "{\n    if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }" { (if_statement "if ((*puVar19 & 0x80) == 0) {\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" if (parenthesized_expression "((*puVar19 & 0x80) == 0)" ( (binary_expression "(*puVar19 & 0x80) == 0" (parenthesized_expression "(*puVar19 & 0x80)" ( (binary_expression "*puVar19 & 0x80" (pointer_expression "*puVar19" * identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar12 = *puVar19 ^ 0x2000;\n      *puVar19 = uVar12;\n      uVar3 = uVar12 & 0x2000;\n    }" { (expression_statement "uVar12 = *puVar19 ^ 0x2000;" (assignment_expression "uVar12 = *puVar19 ^ 0x2000" identifier = (binary_expression "*puVar19 ^ 0x2000" (pointer_expression "*puVar19" * identifier) ^ number_literal)) ;) (expression_statement "*puVar19 = uVar12;" (assignment_expression "*puVar19 = uVar12" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" else (compound_statement "{\n      (**(code **)(in_t9 + 0x56044))();\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" { (expression_statement "(**(code **)(in_t9 + 0x56044))();" (call_expression "(**(code **)(in_t9 + 0x56044))()" (parenthesized_expression "(**(code **)(in_t9 + 0x56044))" ( (pointer_expression "**(code **)(in_t9 + 0x56044)" * (pointer_expression "*(code **)(in_t9 + 0x56044)" * (cast_expression "(code **)(in_t9 + 0x56044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x56044)" ( (binary_expression "in_t9 + 0x56044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) }))) (goto_statement "goto LAB_000220c8;" goto statement_identifier ;) })) (if_statement "if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)) {\n    uVar12 = *puVar19 ^ 0x20000;\n    *puVar19 = uVar12;\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }" if (parenthesized_expression "(p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c))" ( (binary_expression "p_Var7 == *(functionptrtype *)(in_t9 + 0x55a7c)" identifier == (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a7c)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a7c)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a7c)" ( (binary_expression "in_t9 + 0x55a7c" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar12 = *puVar19 ^ 0x20000;\n    *puVar19 = uVar12;\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }" { (expression_statement "uVar12 = *puVar19 ^ 0x20000;" (assignment_expression "uVar12 = *puVar19 ^ 0x20000" identifier = (binary_expression "*puVar19 ^ 0x20000" (pointer_expression "*puVar19" * identifier) ^ number_literal)) ;) (expression_statement "*puVar19 = uVar12;" (assignment_expression "*puVar19 = uVar12" (pointer_expression "*puVar19" * identifier) = identifier) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) (goto_statement "goto LAB_000220c8;" goto statement_identifier ;) })) (if_statement "if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)) {\n    uVar12 = *puVar19;\n    bVar1 = (bool)(bVar1 ^ 1);\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }" if (parenthesized_expression "(p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80))" ( (binary_expression "p_Var7 == *(functionptrtype *)(in_t9 + 0x55a80)" identifier == (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a80)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a80)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a80)" ( (binary_expression "in_t9 + 0x55a80" identifier + number_literal) ))))) )) (compound_statement "{\n    uVar12 = *puVar19;\n    bVar1 = (bool)(bVar1 ^ 1);\n    uVar3 = uVar12 & 0x2000;\n    goto LAB_000220c8;\n  }" { (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "bVar1 = (bool)(bVar1 ^ 1);" (assignment_expression "bVar1 = (bool)(bVar1 ^ 1)" identifier = (cast_expression "(bool)(bVar1 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 ^ 1)" ( (binary_expression "bVar1 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) (goto_statement "goto LAB_000220c8;" goto statement_identifier ;) })) (if_statement "if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)) {\n    pcVar4 = do_browse_from((char *)*puVar20);\n    if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }" if (parenthesized_expression "(p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84))" ( (binary_expression "p_Var7 == *(functionptrtype *)(in_t9 + 0x55a84)" identifier == (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a84)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a84)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a84)" ( (binary_expression "in_t9 + 0x55a84" identifier + number_literal) ))))) )) (compound_statement "{\n    pcVar4 = do_browse_from((char *)*puVar20);\n    if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    goto LAB_000220c8;\n  }" { (expression_statement "pcVar4 = do_browse_from((char *)*puVar20);" (assignment_expression "pcVar4 = do_browse_from((char *)*puVar20)" identifier = (call_expression "do_browse_from((char *)*puVar20)" identifier (argument_list "((char *)*puVar20)" ( (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier)) )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }\n    else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" { (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" else (compound_statement "{\n      (**(code **)(in_t9 + 0x56120))(*puVar20);\n      i = 0;\n      p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);\n      *puVar20 = pcVar4;\n      if (p_Var7 != p_Var17) goto LAB_000223f0;\nLAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();\n      curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);\n      uVar12 = *puVar19;\n      uVar3 = uVar12 & 0x2000;\n    }" { (expression_statement "(**(code **)(in_t9 + 0x56120))(*puVar20);" (call_expression "(**(code **)(in_t9 + 0x56120))(*puVar20)" (parenthesized_expression "(**(code **)(in_t9 + 0x56120))" ( (pointer_expression "**(code **)(in_t9 + 0x56120)" * (pointer_expression "*(code **)(in_t9 + 0x56120)" * (cast_expression "(code **)(in_t9 + 0x56120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x56120)" ( (binary_expression "in_t9 + 0x56120" identifier + number_literal) ))))) )) (argument_list "(*puVar20)" ( (pointer_expression "*puVar20" * identifier) ))) ;) (expression_statement "i = 0;" (assignment_expression "i = 0" identifier = number_literal) ;) (expression_statement "p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88);" (assignment_expression "p_Var17 = *(functionptrtype *)(in_t9 + 0x55a88)" identifier = (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a88)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a88)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a88)" ( (binary_expression "in_t9 + 0x55a88" identifier + number_literal) ))))) ;) (expression_statement "*puVar20 = pcVar4;" (assignment_expression "*puVar20 = pcVar4" (pointer_expression "*puVar20" * identifier) = identifier) ;) (if_statement "if (p_Var7 != p_Var17) goto LAB_000223f0;" if (parenthesized_expression "(p_Var7 != p_Var17)" ( (binary_expression "p_Var7 != p_Var17" identifier != identifier) )) (goto_statement "goto LAB_000223f0;" goto statement_identifier ;)) (labeled_statement "LAB_000224a4:\n      add_or_remove_pipe_symbol_from_answer();" statement_identifier : (expression_statement "add_or_remove_pipe_symbol_from_answer();" (call_expression "add_or_remove_pipe_symbol_from_answer()" identifier (argument_list "()" ( ))) ;)) (expression_statement "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20);" (assignment_expression "curranswer = (char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x5557c))(curranswer,*puVar20)" (parenthesized_expression "(**(code **)(in_t9 + 0x5557c))" ( (pointer_expression "**(code **)(in_t9 + 0x5557c)" * (pointer_expression "*(code **)(in_t9 + 0x5557c)" * (cast_expression "(code **)(in_t9 + 0x5557c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x5557c)" ( (binary_expression "in_t9 + 0x5557c" identifier + number_literal) ))))) )) (argument_list "(curranswer,*puVar20)" ( identifier , (pointer_expression "*puVar20" * identifier) ))))) ;) (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) }))) (goto_statement "goto LAB_000220c8;" goto statement_identifier ;) })) (if_statement "if (p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)) goto LAB_000224a4;" if (parenthesized_expression "(p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88))" ( (binary_expression "p_Var7 == *(functionptrtype *)(in_t9 + 0x55a88)" identifier == (pointer_expression "*(functionptrtype *)(in_t9 + 0x55a88)" * (cast_expression "(functionptrtype *)(in_t9 + 0x55a88)" ( (type_descriptor "functionptrtype *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x55a88)" ( (binary_expression "in_t9 + 0x55a88" identifier + number_literal) ))))) )) (goto_statement "goto LAB_000224a4;" goto statement_identifier ;)) (if_statement "if (i == 0) {\nLAB_000223f0:\n    if (!bVar1) goto LAB_00022218;\n    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 == '\0') goto LAB_00022418;\n    goto LAB_000225b0;\n  }" if (parenthesized_expression "(i == 0)" ( (binary_expression "i == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000223f0:\n    if (!bVar1) goto LAB_00022218;\n    if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 == '\0') goto LAB_00022418;\n    goto LAB_000225b0;\n  }" { (labeled_statement "LAB_000223f0:\n    if (!bVar1) goto LAB_00022218;" statement_identifier : (if_statement "if (!bVar1) goto LAB_00022218;" if (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) )) (goto_statement "goto LAB_00022218;" goto statement_identifier ;))) (if_statement "if ((*puVar19 & 0x2000) != 0) goto LAB_00022558;" if (parenthesized_expression "((*puVar19 & 0x2000) != 0)" ( (binary_expression "(*puVar19 & 0x2000) != 0" (parenthesized_expression "(*puVar19 & 0x2000)" ( (binary_expression "*puVar19 & 0x2000" (pointer_expression "*puVar19" * identifier) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00022558;" goto statement_identifier ;)) (expression_statement "pcVar4 = (char *)*puVar20;" (assignment_expression "pcVar4 = (char *)*puVar20" identifier = (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (if_statement "if (*pcVar4 == '\0') goto LAB_00022418;" if (parenthesized_expression "(*pcVar4 == '\0')" ( (binary_expression "*pcVar4 == '\0'" (pointer_expression "*pcVar4" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022418;" goto statement_identifier ;)) (goto_statement "goto LAB_000225b0;" goto statement_identifier ;) })) (expression_statement "uVar12 = *puVar19;" (assignment_expression "uVar12 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "uVar3 = uVar12 & 0x2000;" (assignment_expression "uVar3 = uVar12 & 0x2000" identifier = (binary_expression "uVar12 & 0x2000" identifier & number_literal)) ;) (if_statement "if ((uVar3 == 0) || (i != -2)) goto LAB_000220c8;" if (parenthesized_expression "((uVar3 == 0) || (i != -2))" ( (binary_expression "(uVar3 == 0) || (i != -2)" (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) || (parenthesized_expression "(i != -2)" ( (binary_expression "i != -2" identifier != number_literal) ))) )) (goto_statement "goto LAB_000220c8;" goto statement_identifier ;)) (if_statement "if (bVar1) {\nLAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }\n    iVar9 = *piVar22;\n    if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\nLAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);\n    pcVar4 = (char *)*puVar20;\n    if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }\n    iVar9 = *piVar22;\n    if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }\n  }" { (labeled_statement "LAB_00022558:\n    open_buffer((char *)(iVar9 + 0x2cac),true);" statement_identifier : (expression_statement "open_buffer((char *)(iVar9 + 0x2cac),true);" (call_expression "open_buffer((char *)(iVar9 + 0x2cac),true)" identifier (argument_list "((char *)(iVar9 + 0x2cac),true)" ( (cast_expression "(char *)(iVar9 + 0x2cac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x2cac)" ( (binary_expression "iVar9 + 0x2cac" identifier + number_literal) ))) , true ))) ;)) (expression_statement "pcVar4 = (char *)*puVar20;" (assignment_expression "pcVar4 = (char *)*puVar20" identifier = (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;) (if_statement "if (*pcVar4 != '\0') {\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }" if (parenthesized_expression "(*pcVar4 != '\0')" ( (binary_expression "*pcVar4 != '\0'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000225b0:\n      execute_command(pcVar4);\n      update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);\n      FUN_00022578();\n      return;\n    }" { (labeled_statement "LAB_000225b0:\n      execute_command(pcVar4);" statement_identifier : (expression_statement "execute_command(pcVar4);" (call_expression "execute_command(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;)) (expression_statement "update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20);" (call_expression "update_history(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20)" identifier (argument_list "(*(filestruct ***)(in_t9 + 0x55a74),(char *)*puVar20)" ( (pointer_expression "*(filestruct ***)(in_t9 + 0x55a74)" * (cast_expression "(filestruct ***)(in_t9 + 0x55a74)" ( (type_descriptor "filestruct ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(in_t9 + 0x55a74)" ( (binary_expression "in_t9 + 0x55a74" identifier + number_literal) )))) , (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier)) ))) ;) (expression_statement "FUN_00022578();" (call_expression "FUN_00022578()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) (if_statement "if ((*puVar19 & 0x2000) != 0) {\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }" if (parenthesized_expression "((*puVar19 & 0x2000) != 0)" ( (binary_expression "(*puVar19 & 0x2000) != 0" (parenthesized_expression "(*puVar19 & 0x2000)" ( (binary_expression "*puVar19 & 0x2000" (pointer_expression "*puVar19" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar9 + 0x1c) = 0;\n      *(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);\n      *(undefined4 *)(iVar9 + 0x20) = 0;\n      set_modified();\n      bVar1 = true;\n      goto LAB_00022260;\n    }" { (expression_statement "*(undefined4 *)(iVar9 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x1c)" * (cast_expression "(undefined4 *)(iVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4);" (assignment_expression "*(undefined4 *)(iVar9 + 0x10) = *(undefined4 *)(iVar9 + 4)" (pointer_expression "*(undefined4 *)(iVar9 + 0x10)" * (cast_expression "(undefined4 *)(iVar9 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar9 + 4)" * (cast_expression "(undefined4 *)(iVar9 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 4)" ( (binary_expression "iVar9 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar9 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar9 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (goto_statement "goto LAB_00022260;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }" else (compound_statement "{\nLAB_00022218:\n    buf = (char *)*puVar20;\n    pcVar4 = real_dir_from_tilde(buf);\n    pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);\n    uVar3 = *puVar19;\n    *puVar20 = pcVar4;\n    open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));\n    bVar1 = false;\nLAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar9 = *piVar22;\n  }" { (labeled_statement "LAB_00022218:\n    buf = (char *)*puVar20;" statement_identifier : (expression_statement "buf = (char *)*puVar20;" (assignment_expression "buf = (char *)*puVar20" identifier = (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier))) ;)) (expression_statement "pcVar4 = real_dir_from_tilde(buf);" (assignment_expression "pcVar4 = real_dir_from_tilde(buf)" identifier = (call_expression "real_dir_from_tilde(buf)" identifier (argument_list "(buf)" ( identifier )))) ;) (expression_statement "pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4);" (assignment_expression "pcVar4 = (char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4)" identifier = (cast_expression "(char *)(**(code **)(in_t9 + 0x55950))(buf,pcVar4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x55950))(buf,pcVar4)" (parenthesized_expression "(**(code **)(in_t9 + 0x55950))" ( (pointer_expression "**(code **)(in_t9 + 0x55950)" * (pointer_expression "*(code **)(in_t9 + 0x55950)" * (cast_expression "(code **)(in_t9 + 0x55950)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x55950)" ( (binary_expression "in_t9 + 0x55950" identifier + number_literal) ))))) )) (argument_list "(buf,pcVar4)" ( identifier , identifier ))))) ;) (expression_statement "uVar3 = *puVar19;" (assignment_expression "uVar3 = *puVar19" identifier = (pointer_expression "*puVar19" * identifier)) ;) (expression_statement "*puVar20 = pcVar4;" (assignment_expression "*puVar20 = pcVar4" (pointer_expression "*puVar20" * identifier) = identifier) ;) (expression_statement "open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0));" (call_expression "open_buffer(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0))" identifier (argument_list "(pcVar4,SUB41((uVar3 << 0x12) >> 0x1f,0))" ( identifier , (call_expression "SUB41((uVar3 << 0x12) >> 0x1f,0)" identifier (argument_list "((uVar3 << 0x12) >> 0x1f,0)" ( (binary_expression "(uVar3 << 0x12) >> 0x1f" (parenthesized_expression "(uVar3 << 0x12)" ( (binary_expression "uVar3 << 0x12" identifier << number_literal) )) >> number_literal) , number_literal ))) ))) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_00022260:\n    if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" statement_identifier : (if_statement "if ((*puVar19 & 0x2000) != 0) {\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" if (parenthesized_expression "((*puVar19 & 0x2000) != 0)" ( (binary_expression "(*puVar19 & 0x2000) != 0" (parenthesized_expression "(*puVar19 & 0x2000)" ( (binary_expression "*puVar19 & 0x2000" (pointer_expression "*puVar19" * identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" { (if_statement "if ((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)) {\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }" if (parenthesized_expression "((((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0))" ( (binary_expression "(((puVar19[1] & 4) != 0) && (!bVar1)) &&\n         (_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)" (parenthesized_expression "(((puVar19[1] & 4) != 0) && (!bVar1))" ( (binary_expression "((puVar19[1] & 4) != 0) && (!bVar1)" (parenthesized_expression "((puVar19[1] & 4) != 0)" ( (binary_expression "(puVar19[1] & 4) != 0" (parenthesized_expression "(puVar19[1] & 4)" ( (binary_expression "puVar19[1] & 4" (subscript_expression "puVar19[1]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) && (parenthesized_expression "(!bVar1)" ( (unary_expression "!bVar1" ! identifier) ))) )) && (parenthesized_expression "(_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0)" ( (comma_expression "_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol),\n         CONCAT31(extraout_var,_Var8) != 0" (assignment_expression "_Var8 = has_old_position((char *)*puVar20,&priorline,&priorcol)" identifier = (call_expression "has_old_position((char *)*puVar20,&priorline,&priorcol)" identifier (argument_list "((char *)*puVar20,&priorline,&priorcol)" ( (cast_expression "(char *)*puVar20" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar20" * identifier)) , (pointer_expression "&priorline" & identifier) , (pointer_expression "&priorcol" & identifier) )))) , (binary_expression "CONCAT31(extraout_var,_Var8) != 0" (call_expression "CONCAT31(extraout_var,_Var8)" identifier (argument_list "(extraout_var,_Var8)" ( identifier , identifier ))) != number_literal)) ))) )) (compound_statement "{\n        do_gotolinecolumn(priorline,priorcol,false,false);\n      }" { (expression_statement "do_gotolinecolumn(priorline,priorcol,false,false);" (call_expression "do_gotolinecolumn(priorline,priorcol,false,false)" identifier (argument_list "(priorline,priorcol,false,false)" ( identifier , identifier , false , false ))) ;) })) (expression_statement "prepare_for_display();" (call_expression "prepare_for_display()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) }))) (labeled_statement "LAB_00022418:\n    iVar9 = *piVar22;" statement_identifier : (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;)) }))) (if_statement "if ((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)) {\n    set_modified();\n    iVar9 = *piVar22;\n  }" if (parenthesized_expression "((*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18))" ( (binary_expression "(*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6) || (*(int *)(iVar9 + 0x1c) != iVar18)" (parenthesized_expression "(*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6)" ( (binary_expression "*(int *)(*(int *)(iVar9 + 0x10) + 4) != iVar6" (pointer_expression "*(int *)(*(int *)(iVar9 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(iVar9 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar9 + 0x10) + 4)" ( (binary_expression "*(int *)(iVar9 + 0x10) + 4" (pointer_expression "*(int *)(iVar9 + 0x10)" * (cast_expression "(int *)(iVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x10)" ( (binary_expression "iVar9 + 0x10" identifier + number_literal) )))) + number_literal) )))) != identifier) )) || (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != iVar18)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != iVar18" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != identifier) ))) )) (compound_statement "{\n    set_modified();\n    iVar9 = *piVar22;\n  }" { (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar9 = *piVar22;" (assignment_expression "iVar9 = *piVar22" identifier = (pointer_expression "*piVar22" * identifier)) ;) })) (expression_statement "*(undefined4 *)(iVar9 + 0x3c) = uVar13;" (assignment_expression "*(undefined4 *)(iVar9 + 0x3c) = uVar13" (pointer_expression "*(undefined4 *)(iVar9 + 0x3c)" * (cast_expression "(undefined4 *)(iVar9 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x3c)" ( (binary_expression "iVar9 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "**(undefined1 **)(in_t9 + 0x555b8) = 1;" (assignment_expression "**(undefined1 **)(in_t9 + 0x555b8) = 1" (pointer_expression "**(undefined1 **)(in_t9 + 0x555b8)" * (pointer_expression "*(undefined1 **)(in_t9 + 0x555b8)" * (cast_expression "(undefined1 **)(in_t9 + 0x555b8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x555b8)" ( (binary_expression "in_t9 + 0x555b8" identifier + number_literal) ))))) = number_literal) ;) (labeled_statement "LAB_00022298:\n  (**(code **)(in_t9 + 0x56120))(curranswer);" statement_identifier : (expression_statement "(**(code **)(in_t9 + 0x56120))(curranswer);" (call_expression "(**(code **)(in_t9 + 0x56120))(curranswer)" (parenthesized_expression "(**(code **)(in_t9 + 0x56120))" ( (pointer_expression "**(code **)(in_t9 + 0x56120)" * (pointer_expression "*(code **)(in_t9 + 0x56120)" * (cast_expression "(code **)(in_t9 + 0x56120)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x56120)" ( (binary_expression "in_t9 + 0x56120" identifier + number_literal) ))))) )) (argument_list "(curranswer)" ( identifier ))) ;)) (if_statement "if (local_2c == *piVar2) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *piVar2)" ( (binary_expression "local_2c == *piVar2" identifier == (pointer_expression "*piVar2" * identifier)) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pcVar24 = *(code **)(in_t9 + 0x560d4);" (assignment_expression "pcVar24 = *(code **)(in_t9 + 0x560d4)" identifier = (pointer_expression "*(code **)(in_t9 + 0x560d4)" * (cast_expression "(code **)(in_t9 + 0x560d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x560d4)" ( (binary_expression "in_t9 + 0x560d4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar24)();" (call_expression "(*pcVar24)()" (parenthesized_expression "(*pcVar24)" ( (pointer_expression "*pcVar24" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(pcVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }" if (parenthesized_expression "(**(int **)(pcVar24 + 0x54fb0) << 8 < 0)" ( (binary_expression "**(int **)(pcVar24 + 0x54fb0) << 8 < 0" (binary_expression "**(int **)(pcVar24 + 0x54fb0) << 8" (pointer_expression "**(int **)(pcVar24 + 0x54fb0)" * (pointer_expression "*(int **)(pcVar24 + 0x54fb0)" * (cast_expression "(int **)(pcVar24 + 0x54fb0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar24 + 0x54fb0)" ( (binary_expression "pcVar24 + 0x54fb0" identifier + number_literal) ))))) << number_literal) < number_literal) )) (compound_statement "{\n    show_restricted_warning();\n    return;\n  }" { (expression_statement "show_restricted_warning();" (call_expression "show_restricted_warning()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "do_insertfile();" (call_expression "do_insertfile()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void do_insertfile(void)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}\n\n" (function_definition "void do_insertfile(void)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" primitive_type (function_declarator "do_insertfile(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "undefined *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar8 = PTR___stack_chk_guard_000780f8;" (assignment_expression "puVar8 = PTR___stack_chk_guard_000780f8" identifier = identifier) ;) (expression_statement "puVar7 = PTR_present_path_000778d8;" (assignment_expression "puVar7 = PTR_present_path_000778d8" identifier = identifier) ;) (expression_statement "puVar6 = PTR_edit_refresh_000778b4;" (assignment_expression "puVar6 = PTR_edit_refresh_000778b4" identifier = identifier) ;) (expression_statement "puVar5 = PTR_operating_dir_000777a8;" (assignment_expression "puVar5 = PTR_operating_dir_000777a8" identifier = identifier) ;) (expression_statement "puVar4 = PTR_flags_0007759c;" (assignment_expression "puVar4 = PTR_flags_0007759c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_openfile_0007756c;" (assignment_expression "puVar3 = PTR_openfile_0007756c" identifier = identifier) ;) (expression_statement "puVar24 = PTR_s_d_of_current_line_0007755c;" (assignment_expression "puVar24 = PTR_s_d_of_current_line_0007755c" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000780f8;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000780f8" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_000780f8" * (cast_expression "(int *)PTR___stack_chk_guard_000780f8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + 0x2cac" identifier + number_literal) )))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);" (assignment_expression "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c)" identifier = (pointer_expression "*(undefined4 *)(*(int *)puVar3 + 0x3c)" * (cast_expression "(undefined4 *)(*(int *)puVar3 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x3c)" ( (binary_expression "*(int *)puVar3 + 0x3c" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) (expression_statement "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;" (assignment_expression "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x96c" identifier + number_literal)) ;) (expression_statement "*PTR_as_an_at_000778ac = 0;" (assignment_expression "*PTR_as_an_at_000778ac = 0" (pointer_expression "*PTR_as_an_at_000778ac" * identifier) = number_literal) ;) (expression_statement "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;" (assignment_expression "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x994" identifier + number_literal)) ;) (expression_statement "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;" (assignment_expression "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0" identifier = (binary_expression "PTR_s_d_of_current_line_0007755c + -0x9f0" identifier + number_literal)) ;) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" { (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" { (while_statement "while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" { (while_statement "while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" { (if_statement "if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }" { (if_statement "if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar24 + -0xa04,5)" ( number_literal , (binary_expression "puVar24 + -0xa04" identifier + number_literal) , number_literal )))) ;) }) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" else (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + -0xa28" identifier + number_literal) , number_literal )))) ;) }))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" ( (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "puVar24 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "uVar23 = 0x80;" (assignment_expression "uVar23 = 0x80" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" identifier = (pointer_expression "*(undefined **)puVar5" * (cast_expression "(undefined **)puVar5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = PTR_execute_history_00077a60;" (assignment_expression "puVar16 = PTR_execute_history_00077a60" identifier = identifier) ;) }) (else_clause "else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" else (compound_statement "{\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" { (if_statement "if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }" { (if_statement "if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" if (parenthesized_expression "((uVar17 & 0x20000) == 0)" ( (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" ( (binary_expression "uVar17 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar19,5)" ( number_literal , identifier , number_literal )))) ;) }) (else_clause "else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" else (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar20)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar20)" ( number_literal , identifier )))) ;) }))) }) (else_clause "else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" else (if_statement "if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" if (parenthesized_expression "((uVar17 & 0x20000) == 0)" ( (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" ( (binary_expression "uVar17 & 0x20000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar24 + -0x9bc)" ( number_literal , (binary_expression "puVar24 + -0x9bc" identifier + number_literal) )))) ;) }) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" else (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" { (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar21)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar21)" ( number_literal , identifier )))) ;) }))))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" ( (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "puVar24 + -0xa2c" identifier + number_literal) )))) ;) (expression_statement "uVar23 = 0x40;" (assignment_expression "uVar23 = 0x40" identifier = number_literal) ;) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" * (cast_expression "(undefined4 *)puVar7" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" identifier = (pointer_expression "*(undefined **)puVar5" * (cast_expression "(undefined **)puVar5" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = (undefined *)0x0;" (assignment_expression "puVar16 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (if_statement "if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }" if (parenthesized_expression "(puVar13 == (undefined *)0x0)" ( (binary_expression "puVar13 == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar13 = puVar24 + -0xa2c;\n            }" { (expression_statement "puVar13 = puVar24 + -0xa2c;" (assignment_expression "puVar13 = puVar24 + -0xa2c" identifier = (binary_expression "puVar24 + -0xa2c" identifier + number_literal)) ;) })) (expression_statement "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);" (assignment_expression "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" identifier = (call_expression "do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" identifier (argument_list "(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" ( number_literal , number_literal , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "puVar13 = PTR_answer_0007792c;" (assignment_expression "puVar13 = PTR_answer_0007792c" identifier = identifier) ;) (if_statement "if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" if (parenthesized_expression "((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))))" ( (binary_expression "(local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" (parenthesized_expression "(local_38 == -1)" ( (binary_expression "local_38 == -1" identifier == number_literal) )) || (parenthesized_expression "((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" ( (parenthesized_expression "(local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))" ( (binary_expression "local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)" (binary_expression "local_38 == -2" identifier == number_literal) && (parenthesized_expression "((*(uint *)puVar4 & 0x2000) == 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) ))) )) ))) )) (compound_statement "{\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" { (expression_statement "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);" (assignment_expression "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" ( (pointer_expression "*(code *)PTR_dcgettext_000780cc" * (cast_expression "(code *)PTR_dcgettext_000780cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" ( number_literal , (binary_expression "PTR_s_d_of_current_line_0007755c + -0x1200" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR_statusbar_000775c4)(uVar18);" (call_expression "(*(code *)PTR_statusbar_000775c4)(uVar18)" (parenthesized_expression "(*(code *)PTR_statusbar_000775c4)" ( (pointer_expression "*(code *)PTR_statusbar_000775c4" * (cast_expression "(code *)PTR_statusbar_000775c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar18)" ( identifier ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) })) (expression_statement "iVar14 = *(int *)(*(int *)puVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)puVar3 + 0x1c)" identifier = (pointer_expression "*(int *)(*(int *)puVar3 + 0x1c)" * (cast_expression "(int *)(*(int *)puVar3 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x1c)" ( (binary_expression "*(int *)puVar3 + 0x1c" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);" (assignment_expression "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" identifier = (pointer_expression "*(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)puVar3 + 0x10) + 4)" ( (binary_expression "*(int *)(*(int *)puVar3 + 0x10) + 4" (pointer_expression "*(int *)(*(int *)puVar3 + 0x10)" * (cast_expression "(int *)(*(int *)puVar3 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar3 + 0x10)" ( (binary_expression "*(int *)puVar3 + 0x10" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined *)func_from_key(&local_38);" (assignment_expression "puVar16 = (undefined *)func_from_key(&local_38)" identifier = (cast_expression "(undefined *)func_from_key(&local_38)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "func_from_key(&local_38)" identifier (argument_list "(&local_38)" ( (pointer_expression "&local_38" & identifier) ))))) ;) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (puVar16 != PTR_flip_newbuffer_00077a64) break;" if (parenthesized_expression "(puVar16 != PTR_flip_newbuffer_00077a64)" ( (binary_expression "puVar16 != PTR_flip_newbuffer_00077a64" identifier != identifier) )) (break_statement "break;" break ;)) (if_statement "if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" if (parenthesized_expression "((*(uint *)puVar4 & 0x80) == 0)" ( (binary_expression "(*(uint *)puVar4 & 0x80) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x80)" ( (binary_expression "*(uint *)puVar4 & 0x80" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) == number_literal) )) (compound_statement "{\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }" { (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x2000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x2000" identifier = (binary_expression "*(uint *)puVar4 ^ 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" else (compound_statement "{\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" { (expression_statement "(*(code *)PTR_beep_00078030)();" (call_expression "(*(code *)PTR_beep_00078030)()" (parenthesized_expression "(*(code *)PTR_beep_00078030)" ( (pointer_expression "*(code *)PTR_beep_00078030" * (cast_expression "(code *)PTR_beep_00078030" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }))) })) (if_statement "if (puVar16 != PTR_flip_convert_00077a68) break;" if (parenthesized_expression "(puVar16 != PTR_flip_convert_00077a68)" ( (binary_expression "puVar16 != PTR_flip_convert_00077a68" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x20000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x20000" identifier = (binary_expression "*(uint *)puVar4 ^ 0x20000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ^ number_literal)) ;) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) })) (if_statement "if (puVar16 != PTR_flip_execute_00077a6c) break;" if (parenthesized_expression "(puVar16 != PTR_flip_execute_00077a6c)" ( (binary_expression "puVar16 != PTR_flip_execute_00077a6c" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "bVar2 = (bool)(bVar2 ^ 1);" (assignment_expression "bVar2 = (bool)(bVar2 ^ 1)" identifier = (cast_expression "(bool)(bVar2 ^ 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar2 ^ 1)" ( (binary_expression "bVar2 ^ 1" identifier ^ number_literal) )))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) })) (if_statement "if (puVar16 != PTR_to_files_void_00077a70) break;" if (parenthesized_expression "(puVar16 != PTR_to_files_void_00077a70)" ( (binary_expression "puVar16 != PTR_to_files_void_00077a70" identifier != identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar22 = do_browse_from(*(undefined4 *)puVar13);" (assignment_expression "iVar22 = do_browse_from(*(undefined4 *)puVar13)" identifier = (call_expression "do_browse_from(*(undefined4 *)puVar13)" identifier (argument_list "(*(undefined4 *)puVar13)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" if (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" { (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) (else_clause "else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" else (compound_statement "{\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" { (expression_statement "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);" (call_expression "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" ( (pointer_expression "*(code *)PTR_free_0007810c" * (cast_expression "(code *)PTR_free_0007810c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)puVar13)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = puVar16 != PTR_flip_pipe_00077a74;" (assignment_expression "bVar1 = puVar16 != PTR_flip_pipe_00077a74" identifier = (binary_expression "puVar16 != PTR_flip_pipe_00077a74" identifier != identifier)) ;) (expression_statement "*(int *)puVar13 = iVar22;" (assignment_expression "*(int *)puVar13 = iVar22" (pointer_expression "*(int *)puVar13" * (cast_expression "(int *)puVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (bVar1) goto LAB_000223f0;" if (parenthesized_expression "(bVar1)" ( identifier )) (goto_statement "goto LAB_000223f0;" goto statement_identifier ;)) (labeled_statement "LAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();" statement_identifier : (expression_statement "add_or_remove_pipe_symbol_from_answer();" (call_expression "add_or_remove_pipe_symbol_from_answer()" identifier (argument_list "()" ( ))) ;)) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" identifier = (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" ( (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" * (cast_expression "(code *)PTR_mallocstrcpy_00077568" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }))) })) (if_statement "if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;" if (parenthesized_expression "(puVar16 == PTR_flip_pipe_00077a74)" ( (binary_expression "puVar16 == PTR_flip_pipe_00077a74" identifier == identifier) )) (goto_statement "goto LAB_000224a4;" goto statement_identifier ;)) (if_statement "if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" if (parenthesized_expression "(local_38 == 0)" ( (binary_expression "local_38 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" { (labeled_statement "LAB_000223f0:\n      if (!bVar2) goto LAB_00022218;" statement_identifier : (if_statement "if (!bVar2) goto LAB_00022218;" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (goto_statement "goto LAB_00022218;" goto statement_identifier ;))) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (goto_statement "goto LAB_00022558;" goto statement_identifier ;)) (if_statement "if (**(char **)puVar13 == '\0') goto LAB_00022418;" if (parenthesized_expression "(**(char **)puVar13 == '\0')" ( (binary_expression "**(char **)puVar13 == '\0'" (pointer_expression "**(char **)puVar13" * (pointer_expression "*(char **)puVar13" * (cast_expression "(char **)puVar13" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022418;" goto statement_identifier ;)) (goto_statement "goto LAB_000225b0;" goto statement_identifier ;) })) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" identifier = (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" identifier = (binary_expression "uVar17 & 0x2000" identifier & number_literal)) ;) }) while (parenthesized_expression "((uVar10 == 0) || (local_38 != -2))" ( (binary_expression "(uVar10 == 0) || (local_38 != -2)" (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(local_38 != -2)" ( (binary_expression "local_38 != -2" identifier != number_literal) ))) )) ;) (if_statement "if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }" { (labeled_statement "LAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);" statement_identifier : (expression_statement "open_buffer(puVar24 + 0x2cac,1);" (call_expression "open_buffer(puVar24 + 0x2cac,1)" identifier (argument_list "(puVar24 + 0x2cac,1)" ( (binary_expression "puVar24 + 0x2cac" identifier + number_literal) , number_literal ))) ;)) (if_statement "if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" if (parenthesized_expression "(**(char **)puVar13 != '\0')" ( (binary_expression "**(char **)puVar13 != '\0'" (pointer_expression "**(char **)puVar13" * (pointer_expression "*(char **)puVar13" * (cast_expression "(char **)puVar13" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" { (labeled_statement "LAB_000225b0:\n      execute_command();" statement_identifier : (expression_statement "execute_command();" (call_expression "execute_command()" identifier (argument_list "()" ( ))) ;)) (expression_statement "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);" (call_expression "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" identifier (argument_list "(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" ( identifier , (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) })) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" { (expression_statement "*(undefined4 *)(iVar22 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x1c)" * (cast_expression "(undefined4 *)(iVar22 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);" (assignment_expression "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4)" (pointer_expression "*(undefined4 *)(iVar22 + 0x10)" * (cast_expression "(undefined4 *)(iVar22 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10)" ( (binary_expression "iVar22 + 0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(iVar22 + 4)" * (cast_expression "(undefined4 *)(iVar22 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 4)" ( (binary_expression "iVar22 + 4" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(iVar22 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x20)" * (cast_expression "(undefined4 *)(iVar22 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x20)" ( (binary_expression "iVar22 + 0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_00022260;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" else (compound_statement "{\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" { (labeled_statement "LAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;" statement_identifier : (expression_statement "uVar23 = *(undefined4 *)puVar13;" (assignment_expression "uVar23 = *(undefined4 *)puVar13" identifier = (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (expression_statement "uVar11 = real_dir_from_tilde(uVar23);" (assignment_expression "uVar11 = real_dir_from_tilde(uVar23)" identifier = (call_expression "real_dir_from_tilde(uVar23)" identifier (argument_list "(uVar23)" ( identifier )))) ;) (expression_statement "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);" (assignment_expression "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" identifier = (call_expression "(*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" (parenthesized_expression "(*(code *)PTR_free_and_assign_0007793c)" ( (pointer_expression "*(code *)PTR_free_and_assign_0007793c" * (cast_expression "(code *)PTR_free_and_assign_0007793c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar23,uVar11)" ( identifier , identifier )))) ;) (expression_statement "iVar22 = *(int *)puVar4;" (assignment_expression "iVar22 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)puVar13 = uVar11;" (assignment_expression "*(undefined4 *)puVar13 = uVar11" (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);" (call_expression "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" identifier (argument_list "(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" ( identifier , (binary_expression "(uint)(iVar22 << 0x12) >> 0x1f" (call_expression "(uint)(iVar22 << 0x12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar22 << 0x12)" ( (binary_expression "iVar22 << 0x12" identifier << number_literal) ))) >> number_literal) ))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" statement_identifier : (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" if (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" ( (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" ( (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" * (cast_expression "(uint *)puVar4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" { (if_statement "if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" if (parenthesized_expression "((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0))" ( (binary_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" (parenthesized_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2))" ( (binary_expression "((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)" (parenthesized_expression "((*(uint *)(puVar4 + 4) & 4) != 0)" ( (binary_expression "(*(uint *)(puVar4 + 4) & 4) != 0" (parenthesized_expression "(*(uint *)(puVar4 + 4) & 4)" ( (binary_expression "*(uint *)(puVar4 + 4) & 4" (pointer_expression "*(uint *)(puVar4 + 4)" * (cast_expression "(uint *)(puVar4 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + 4)" ( (binary_expression "puVar4 + 4" identifier + number_literal) )))) & number_literal) )) != number_literal) )) && (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) ))) )) && (parenthesized_expression "(iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" ( (comma_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0" (assignment_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" identifier = (call_expression "has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" identifier (argument_list "(*(undefined4 *)puVar13,&local_34,&local_30)" ( (pointer_expression "*(undefined4 *)puVar13" * (cast_expression "(undefined4 *)puVar13" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) , (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" { (expression_statement "do_gotolinecolumn(local_34,local_30,0,0);" (call_expression "do_gotolinecolumn(local_34,local_30,0,0)" identifier (argument_list "(local_34,local_30,0,0)" ( identifier , identifier , number_literal , number_literal ))) ;) })) (expression_statement "prepare_for_display();" (call_expression "prepare_for_display()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00022298;" goto statement_identifier ;) }))) (labeled_statement "LAB_00022418:\n    iVar22 = *(int *)puVar3;" statement_identifier : (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }))) (if_statement "if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" if (parenthesized_expression "((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14))" ( (binary_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)" (parenthesized_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15)" ( (binary_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15" (pointer_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4)" * (cast_expression "(int *)(*(int *)(iVar22 + 0x10) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar22 + 0x10) + 4)" ( (binary_expression "*(int *)(iVar22 + 0x10) + 4" (pointer_expression "*(int *)(iVar22 + 0x10)" * (cast_expression "(int *)(iVar22 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10)" ( (binary_expression "iVar22 + 0x10" identifier + number_literal) )))) + number_literal) )))) != identifier) )) || (parenthesized_expression "(*(int *)(iVar22 + 0x1c) != iVar14)" ( (binary_expression "*(int *)(iVar22 + 0x1c) != iVar14" (pointer_expression "*(int *)(iVar22 + 0x1c)" * (cast_expression "(int *)(iVar22 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x1c)" ( (binary_expression "iVar22 + 0x1c" identifier + number_literal) )))) != identifier) ))) )) (compound_statement "{\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" { (expression_statement "set_modified();" (call_expression "set_modified()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) })) (expression_statement "*(undefined4 *)(iVar22 + 0x3c) = uVar18;" (assignment_expression "*(undefined4 *)(iVar22 + 0x3c) = uVar18" (pointer_expression "*(undefined4 *)(iVar22 + 0x3c)" * (cast_expression "(undefined4 *)(iVar22 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x3c)" ( (binary_expression "iVar22 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*PTR_refresh_needed_000775a4 = 1;" (assignment_expression "*PTR_refresh_needed_000775a4 = 1" (pointer_expression "*PTR_refresh_needed_000775a4" * identifier) = number_literal) ;) (labeled_statement "LAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);" statement_identifier : (expression_statement "(*(code *)PTR_free_0007810c)(uVar9);" (call_expression "(*(code *)PTR_free_0007810c)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" ( (pointer_expression "*(code *)PTR_free_0007810c" * (cast_expression "(code *)PTR_free_0007810c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))) ;)) (if_statement "if (local_2c == *(int *)puVar8) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar8)" ( (binary_expression "local_2c == *(int *)puVar8" identifier == (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "puVar24 = PTR___stack_chk_fail_000780c0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_000780c0" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000780c0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000780c0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000780c0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000780c0" * (cast_expression "(code *)PTR___stack_chk_fail_000780c0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (if_statement "if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }" if (parenthesized_expression "(**(int **)(puVar24 + 0x54fb0) << 8 < 0)" ( (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8 < 0" (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8" (pointer_expression "**(int **)(puVar24 + 0x54fb0)" * (pointer_expression "*(int **)(puVar24 + 0x54fb0)" * (cast_expression "(int **)(puVar24 + 0x54fb0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + 0x54fb0)" ( (binary_expression "puVar24 + 0x54fb0" identifier + number_literal) ))))) << number_literal) < number_literal) )) (compound_statement "{\n    show_restricted_warning();\n    return;\n  }" { (expression_statement "show_restricted_warning();" (call_expression "show_restricted_warning()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "do_insertfile();" (call_expression "do_insertfile()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) }))) (expression_statement (assignment_expression IDENT = (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)) , (binary_expression IDENT + LIT) )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT )))) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT )))) ;) }))))) (expression_statement (assignment_expression IDENT = (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)) , (binary_expression IDENT + LIT) )))) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , LIT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_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 = (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 (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (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 * (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 *)) ) (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 *)) ) IDENT)) + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (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 (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ^ LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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 ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ^ LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (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) ) (parenthesized_expression ( (binary_expression IDENT ^ LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (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 *)) ) IDENT)) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) == (char_literal ' escape_sequence ')) )) (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))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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 *)) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (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) )) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) && (parenthesized_expression ( (unary_expression ! IDENT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (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) )))) != IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (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 ( ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void do_insertfile(void)\n\n{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" (primitive_type "void") (function_declarator "do_insertfile(void)" (identifier "do_insertfile") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  undefined4 uVar9;\n  uint uVar10;\n  undefined4 uVar11;\n  undefined4 uVar12;\n  undefined *puVar13;\n  int iVar14;\n  int iVar15;\n  undefined *puVar16;\n  uint uVar17;\n  undefined4 uVar18;\n  undefined *puVar19;\n  undefined *puVar20;\n  undefined *puVar21;\n  int iVar22;\n  undefined4 uVar23;\n  undefined *puVar24;\n  int local_38;\n  undefined4 local_34;\n  undefined4 local_30;\n  int local_2c;\n  \n  puVar8 = PTR___stack_chk_guard_000780f8;\n  puVar7 = PTR_present_path_000778d8;\n  puVar6 = PTR_edit_refresh_000778b4;\n  puVar5 = PTR_operating_dir_000777a8;\n  puVar4 = PTR_flags_0007759c;\n  puVar3 = PTR_openfile_0007756c;\n  puVar24 = PTR_s_d_of_current_line_0007755c;\n  local_2c = *(int *)PTR___stack_chk_guard_000780f8;\n  bVar2 = false;\n  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);\n  uVar17 = *(uint *)puVar4;\n  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);\n  uVar10 = uVar17 & 0x2000;\n  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;\n  *PTR_as_an_at_000778ac = 0;\n  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;\n  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;\n  do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));\n  if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }\n  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }\n  *(undefined4 *)(iVar22 + 0x3c) = uVar18;\n  *PTR_refresh_needed_000775a4 = 1;\nLAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);\n  if (local_2c == *(int *)puVar8) {\n    return;\n  }\n  puVar24 = PTR___stack_chk_fail_000780c0;\n  (*(code *)PTR___stack_chk_fail_000780c0)();\n  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }\n  do_insertfile();\n  return;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "undefined *puVar16;" (type_identifier "undefined") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "undefined *puVar19;" (type_identifier "undefined") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined *puVar20;" (type_identifier "undefined") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "undefined4 uVar23;" (type_identifier "undefined4") (identifier "uVar23") (; ";")) (declaration "undefined *puVar24;" (type_identifier "undefined") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar8 = PTR___stack_chk_guard_000780f8;" (assignment_expression "puVar8 = PTR___stack_chk_guard_000780f8" (identifier "puVar8") (= "=") (identifier "PTR___stack_chk_guard_000780f8")) (; ";")) (expression_statement "puVar7 = PTR_present_path_000778d8;" (assignment_expression "puVar7 = PTR_present_path_000778d8" (identifier "puVar7") (= "=") (identifier "PTR_present_path_000778d8")) (; ";")) (expression_statement "puVar6 = PTR_edit_refresh_000778b4;" (assignment_expression "puVar6 = PTR_edit_refresh_000778b4" (identifier "puVar6") (= "=") (identifier "PTR_edit_refresh_000778b4")) (; ";")) (expression_statement "puVar5 = PTR_operating_dir_000777a8;" (assignment_expression "puVar5 = PTR_operating_dir_000777a8" (identifier "puVar5") (= "=") (identifier "PTR_operating_dir_000777a8")) (; ";")) (expression_statement "puVar4 = PTR_flags_0007759c;" (assignment_expression "puVar4 = PTR_flags_0007759c" (identifier "puVar4") (= "=") (identifier "PTR_flags_0007759c")) (; ";")) (expression_statement "puVar3 = PTR_openfile_0007756c;" (assignment_expression "puVar3 = PTR_openfile_0007756c" (identifier "puVar3") (= "=") (identifier "PTR_openfile_0007756c")) (; ";")) (expression_statement "puVar24 = PTR_s_d_of_current_line_0007755c;" (assignment_expression "puVar24 = PTR_s_d_of_current_line_0007755c" (identifier "puVar24") (= "=") (identifier "PTR_s_d_of_current_line_0007755c")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_000780f8;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_000780f8" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_000780f8" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_000780f8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_000780f8")))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" (( "(") (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" (* "*") (cast_expression "(code *)PTR_mallocstrcpy_00077568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mallocstrcpy_00077568"))) () ")")) (argument_list "(0,PTR_s_d_of_current_line_0007755c + 0x2cac)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_s_d_of_current_line_0007755c + 0x2cac" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "0x2cac")) () ")")))) (; ";")) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);" (assignment_expression "uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c)" (identifier "uVar18") (= "=") (pointer_expression "*(undefined4 *)(*(int *)puVar3 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(*(int *)puVar3 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar3 + 0x3c)" (( "(") (binary_expression "*(int *)puVar3 + 0x3c" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (expression_statement "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;" (assignment_expression "puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c" (identifier "puVar19") (= "=") (binary_expression "PTR_s_d_of_current_line_0007755c + -0x96c" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "-0x96c"))) (; ";")) (expression_statement "*PTR_as_an_at_000778ac = 0;" (assignment_expression "*PTR_as_an_at_000778ac = 0" (pointer_expression "*PTR_as_an_at_000778ac" (* "*") (identifier "PTR_as_an_at_000778ac")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;" (assignment_expression "puVar20 = PTR_s_d_of_current_line_0007755c + -0x994" (identifier "puVar20") (= "=") (binary_expression "PTR_s_d_of_current_line_0007755c + -0x994" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "-0x994"))) (; ";")) (expression_statement "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;" (assignment_expression "puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0" (identifier "puVar21") (= "=") (binary_expression "PTR_s_d_of_current_line_0007755c + -0x9f0" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "-0x9f0"))) (; ";")) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  } while ((uVar10 == 0) || (local_38 != -2));" (do "do") (compound_statement "{\n    while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }\n    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;\n    if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }\n    uVar17 = *(uint *)puVar4;\n    uVar10 = uVar17 & 0x2000;\n  }" ({ "{") (while_statement "while( true ) {\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }\n      if (puVar16 != PTR_to_files_void_00077a70) break;\n      iVar22 = do_browse_from(*(undefined4 *)puVar13);\n      if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n    }" ({ "{") (while_statement "while( true ) {\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }\n        if (puVar16 != PTR_flip_execute_00077a6c) break;\n        uVar17 = *(uint *)puVar4;\n        bVar2 = (bool)(bVar2 ^ 1);\n        uVar10 = uVar17 & 0x2000;\n      }" ({ "{") (while_statement "while( true ) {\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }\n          if (puVar16 != PTR_flip_convert_00077a68) break;\n          uVar17 = *(uint *)puVar4 ^ 0x20000;\n          *(uint *)puVar4 = uVar17;\n          uVar10 = uVar17 & 0x2000;\n        }" ({ "{") (while_statement "while( true ) {\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }\n            if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }\n            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);\n            puVar13 = PTR_answer_0007792c;\n            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }\n            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);\n            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);\n            puVar16 = (undefined *)func_from_key(&local_38);\n            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n            if (puVar16 != PTR_flip_newbuffer_00077a64) break;\n            if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }\n          }" ({ "{") (if_statement "if (bVar2) {\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }\n            else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n              if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x80;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = PTR_execute_history_00077a60;\n            }" ({ "{") (if_statement "if (uVar10 == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);\n              }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,puVar24 + -0xa04,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar24 + -0xa04" (identifier "puVar24") (+ "+") (number_literal "-0xa04")) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" (else "else") (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);\n              }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0xa28,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_s_d_of_current_line_0007755c + -0xa28" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "-0xa28")) (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" (( "(") (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" (* "*") (cast_expression "(code *)PTR_mallocstrcpy_00077568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mallocstrcpy_00077568"))) () ")")) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (( "(") (pointer_expression "*(undefined4 *)puVar7" (* "*") (cast_expression "(undefined4 *)puVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (, ",") (binary_expression "puVar24 + -0xa2c" (identifier "puVar24") (+ "+") (number_literal "-0xa2c")) () ")")))) (; ";")) (expression_statement "uVar23 = 0x80;" (assignment_expression "uVar23 = 0x80" (identifier "uVar23") (= "=") (number_literal "0x80")) (; ";")) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" (* "*") (cast_expression "(undefined4 *)puVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" (identifier "puVar13") (= "=") (pointer_expression "*(undefined **)puVar5" (* "*") (cast_expression "(undefined **)puVar5" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "puVar16 = PTR_execute_history_00077a60;" (assignment_expression "puVar16 = PTR_execute_history_00077a60" (identifier "puVar16") (= "=") (identifier "PTR_execute_history_00077a60")) (; ";")) (} "}")) (else_clause "else {\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" (else "else") (compound_statement "{\n              if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }\n              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);\n              uVar23 = 0x40;\n              *(undefined4 *)puVar7 = uVar12;\n              puVar13 = *(undefined **)puVar5;\n              puVar16 = (undefined *)0x0;\n            }" ({ "{") (if_statement "if (uVar10 == 0) {\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }\n              else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" (if "if") (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }\n              }" ({ "{") (if_statement "if ((uVar17 & 0x20000) == 0) {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }\n                else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" (if "if") (parenthesized_expression "((uVar17 & 0x20000) == 0)" (( "(") (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" (( "(") (binary_expression "uVar17 & 0x20000" (identifier "uVar17") (& "&") (number_literal "0x20000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);\n                }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar19,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,puVar19,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar19") (, ",") (number_literal "5") () ")")))) (; ";")) (} "}")) (else_clause "else {\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" (else "else") (compound_statement "{\n                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);\n                }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar20)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,puVar20)" (( "(") (number_literal "0") (, ",") (identifier "puVar20") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" (else "else") (if_statement "if ((uVar17 & 0x20000) == 0) {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }\n              else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" (if "if") (parenthesized_expression "((uVar17 & 0x20000) == 0)" (( "(") (binary_expression "(uVar17 & 0x20000) == 0" (parenthesized_expression "(uVar17 & 0x20000)" (( "(") (binary_expression "uVar17 & 0x20000" (identifier "uVar17") (& "&") (number_literal "0x20000")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);\n              }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,puVar24 + -0x9bc)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar24 + -0x9bc" (identifier "puVar24") (+ "+") (number_literal "-0x9bc")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" (else "else") (compound_statement "{\n                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);\n              }" ({ "{") (expression_statement "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);" (assignment_expression "uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)(0,puVar21)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,puVar21)" (( "(") (number_literal "0") (, ",") (identifier "puVar21") () ")")))) (; ";")) (} "}")))))) (expression_statement "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);" (assignment_expression "uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" (( "(") (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" (* "*") (cast_expression "(code *)PTR_mallocstrcpy_00077568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mallocstrcpy_00077568"))) () ")")) (argument_list "(*(undefined4 *)puVar7,puVar24 + -0xa2c)" (( "(") (pointer_expression "*(undefined4 *)puVar7" (* "*") (cast_expression "(undefined4 *)puVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (, ",") (binary_expression "puVar24 + -0xa2c" (identifier "puVar24") (+ "+") (number_literal "-0xa2c")) () ")")))) (; ";")) (expression_statement "uVar23 = 0x40;" (assignment_expression "uVar23 = 0x40" (identifier "uVar23") (= "=") (number_literal "0x40")) (; ";")) (expression_statement "*(undefined4 *)puVar7 = uVar12;" (assignment_expression "*(undefined4 *)puVar7 = uVar12" (pointer_expression "*(undefined4 *)puVar7" (* "*") (cast_expression "(undefined4 *)puVar7" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) (= "=") (identifier "uVar12")) (; ";")) (expression_statement "puVar13 = *(undefined **)puVar5;" (assignment_expression "puVar13 = *(undefined **)puVar5" (identifier "puVar13") (= "=") (pointer_expression "*(undefined **)puVar5" (* "*") (cast_expression "(undefined **)puVar5" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "puVar16 = (undefined *)0x0;" (assignment_expression "puVar16 = (undefined *)0x0" (identifier "puVar16") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (if_statement "if (puVar13 == (undefined *)0x0) {\n              puVar13 = puVar24 + -0xa2c;\n            }" (if "if") (parenthesized_expression "(puVar13 == (undefined *)0x0)" (( "(") (binary_expression "puVar13 == (undefined *)0x0" (identifier "puVar13") (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              puVar13 = puVar24 + -0xa2c;\n            }" ({ "{") (expression_statement "puVar13 = puVar24 + -0xa2c;" (assignment_expression "puVar13 = puVar24 + -0xa2c" (identifier "puVar13") (= "=") (binary_expression "puVar24 + -0xa2c" (identifier "puVar24") (+ "+") (number_literal "-0xa2c"))) (; ";")) (} "}"))) (expression_statement "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);" (assignment_expression "local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" (identifier "local_38") (= "=") (call_expression "do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" (identifier "do_prompt") (argument_list "(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13)" (( "(") (number_literal "1") (, ",") (number_literal "1") (, ",") (identifier "uVar23") (, ",") (identifier "uVar9") (, ",") (identifier "puVar16") (, ",") (identifier "puVar6") (, ",") (identifier "uVar11") (, ",") (identifier "puVar13") () ")")))) (; ";")) (expression_statement "puVar13 = PTR_answer_0007792c;" (assignment_expression "puVar13 = PTR_answer_0007792c" (identifier "puVar13") (= "=") (identifier "PTR_answer_0007792c")) (; ";")) (if_statement "if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" (if "if") (parenthesized_expression "((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))))" (( "(") (binary_expression "(local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" (parenthesized_expression "(local_38 == -1)" (( "(") (binary_expression "local_38 == -1" (identifier "local_38") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))" (( "(") (parenthesized_expression "(local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0))" (( "(") (binary_expression "local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)" (binary_expression "local_38 == -2" (identifier "local_38") (== "==") (number_literal "-2")) (&& "&&") (parenthesized_expression "((*(uint *)puVar4 & 0x2000) == 0)" (( "(") (binary_expression "(*(uint *)puVar4 & 0x2000) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" (( "(") (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0x2000")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n              uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);\n              (*(code *)PTR_statusbar_000775c4)(uVar18);\n              goto LAB_00022298;\n            }" ({ "{") (expression_statement "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);" (assignment_expression "uVar18 = (*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" (identifier "uVar18") (= "=") (call_expression "(*(code *)PTR_dcgettext_000780cc)\n                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000780cc)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000780cc" (* "*") (cast_expression "(code *)PTR_dcgettext_000780cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000780cc"))) () ")")) (argument_list "(0,PTR_s_d_of_current_line_0007755c + -0x1200,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_s_d_of_current_line_0007755c + -0x1200" (identifier "PTR_s_d_of_current_line_0007755c") (+ "+") (number_literal "-0x1200")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_statusbar_000775c4)(uVar18);" (call_expression "(*(code *)PTR_statusbar_000775c4)(uVar18)" (parenthesized_expression "(*(code *)PTR_statusbar_000775c4)" (( "(") (pointer_expression "*(code *)PTR_statusbar_000775c4" (* "*") (cast_expression "(code *)PTR_statusbar_000775c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_statusbar_000775c4"))) () ")")) (argument_list "(uVar18)" (( "(") (identifier "uVar18") () ")"))) (; ";")) (goto_statement "goto LAB_00022298;" (goto "goto") (statement_identifier "LAB_00022298") (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(*(int *)puVar3 + 0x1c);" (assignment_expression "iVar14 = *(int *)(*(int *)puVar3 + 0x1c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(*(int *)puVar3 + 0x1c)" (* "*") (cast_expression "(int *)(*(int *)puVar3 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar3 + 0x1c)" (( "(") (binary_expression "*(int *)puVar3 + 0x1c" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);" (assignment_expression "iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" (* "*") (cast_expression "(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)puVar3 + 0x10) + 4)" (( "(") (binary_expression "*(int *)(*(int *)puVar3 + 0x10) + 4" (pointer_expression "*(int *)(*(int *)puVar3 + 0x10)" (* "*") (cast_expression "(int *)(*(int *)puVar3 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar3 + 0x10)" (( "(") (binary_expression "*(int *)puVar3 + 0x10" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar16 = (undefined *)func_from_key(&local_38);" (assignment_expression "puVar16 = (undefined *)func_from_key(&local_38)" (identifier "puVar16") (= "=") (cast_expression "(undefined *)func_from_key(&local_38)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "func_from_key(&local_38)" (identifier "func_from_key") (argument_list "(&local_38)" (( "(") (pointer_expression "&local_38" (& "&") (identifier "local_38")) () ")"))))) (; ";")) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" (( "(") (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" (* "*") (cast_expression "(code *)PTR_mallocstrcpy_00077568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mallocstrcpy_00077568"))) () ")")) (argument_list "(uVar9,*(undefined4 *)puVar13)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")))) (; ";")) (if_statement "if (puVar16 != PTR_flip_newbuffer_00077a64) break;" (if "if") (parenthesized_expression "(puVar16 != PTR_flip_newbuffer_00077a64)" (( "(") (binary_expression "puVar16 != PTR_flip_newbuffer_00077a64" (identifier "puVar16") (!= "!=") (identifier "PTR_flip_newbuffer_00077a64")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if ((*(uint *)puVar4 & 0x80) == 0) {\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }\n            else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" (if "if") (parenthesized_expression "((*(uint *)puVar4 & 0x80) == 0)" (( "(") (binary_expression "(*(uint *)puVar4 & 0x80) == 0" (parenthesized_expression "(*(uint *)puVar4 & 0x80)" (( "(") (binary_expression "*(uint *)puVar4 & 0x80" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              uVar17 = *(uint *)puVar4 ^ 0x2000;\n              *(uint *)puVar4 = uVar17;\n              uVar10 = uVar17 & 0x2000;\n            }" ({ "{") (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x2000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x2000" (identifier "uVar17") (= "=") (binary_expression "*(uint *)puVar4 ^ 0x2000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (^ "^") (number_literal "0x2000"))) (; ";")) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}")) (else_clause "else {\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" (else "else") (compound_statement "{\n              (*(code *)PTR_beep_00078030)();\n              uVar17 = *(uint *)puVar4;\n              uVar10 = uVar17 & 0x2000;\n            }" ({ "{") (expression_statement "(*(code *)PTR_beep_00078030)();" (call_expression "(*(code *)PTR_beep_00078030)()" (parenthesized_expression "(*(code *)PTR_beep_00078030)" (( "(") (pointer_expression "*(code *)PTR_beep_00078030" (* "*") (cast_expression "(code *)PTR_beep_00078030" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_beep_00078030"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (puVar16 != PTR_flip_convert_00077a68) break;" (if "if") (parenthesized_expression "(puVar16 != PTR_flip_convert_00077a68)" (( "(") (binary_expression "puVar16 != PTR_flip_convert_00077a68" (identifier "puVar16") (!= "!=") (identifier "PTR_flip_convert_00077a68")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar17 = *(uint *)puVar4 ^ 0x20000;" (assignment_expression "uVar17 = *(uint *)puVar4 ^ 0x20000" (identifier "uVar17") (= "=") (binary_expression "*(uint *)puVar4 ^ 0x20000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (^ "^") (number_literal "0x20000"))) (; ";")) (expression_statement "*(uint *)puVar4 = uVar17;" (assignment_expression "*(uint *)puVar4 = uVar17" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}"))) (if_statement "if (puVar16 != PTR_flip_execute_00077a6c) break;" (if "if") (parenthesized_expression "(puVar16 != PTR_flip_execute_00077a6c)" (( "(") (binary_expression "puVar16 != PTR_flip_execute_00077a6c" (identifier "puVar16") (!= "!=") (identifier "PTR_flip_execute_00077a6c")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "bVar2 = (bool)(bVar2 ^ 1);" (assignment_expression "bVar2 = (bool)(bVar2 ^ 1)" (identifier "bVar2") (= "=") (cast_expression "(bool)(bVar2 ^ 1)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar2 ^ 1)" (( "(") (binary_expression "bVar2 ^ 1" (identifier "bVar2") (^ "^") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}"))) (if_statement "if (puVar16 != PTR_to_files_void_00077a70) break;" (if "if") (parenthesized_expression "(puVar16 != PTR_to_files_void_00077a70)" (( "(") (binary_expression "puVar16 != PTR_to_files_void_00077a70" (identifier "puVar16") (!= "!=") (identifier "PTR_to_files_void_00077a70")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar22 = do_browse_from(*(undefined4 *)puVar13);" (assignment_expression "iVar22 = do_browse_from(*(undefined4 *)puVar13)" (identifier "iVar22") (= "=") (call_expression "do_browse_from(*(undefined4 *)puVar13)" (identifier "do_browse_from") (argument_list "(*(undefined4 *)puVar13)" (( "(") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")))) (; ";")) (if_statement "if (iVar22 == 0) {\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }\n      else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" (if "if") (parenthesized_expression "(iVar22 == 0)" (( "(") (binary_expression "iVar22 == 0" (identifier "iVar22") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" ({ "{") (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}")) (else_clause "else {\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" (else "else") (compound_statement "{\n        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);\n        local_38 = 0;\n        bVar1 = puVar16 != PTR_flip_pipe_00077a74;\n        *(int *)puVar13 = iVar22;\n        if (bVar1) goto LAB_000223f0;\nLAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();\n        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);\n        uVar17 = *(uint *)puVar4;\n        uVar10 = uVar17 & 0x2000;\n      }" ({ "{") (expression_statement "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);" (call_expression "(*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" (( "(") (pointer_expression "*(code *)PTR_free_0007810c" (* "*") (cast_expression "(code *)PTR_free_0007810c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0007810c"))) () ")")) (argument_list "(*(undefined4 *)puVar13)" (( "(") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")"))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar1 = puVar16 != PTR_flip_pipe_00077a74;" (assignment_expression "bVar1 = puVar16 != PTR_flip_pipe_00077a74" (identifier "bVar1") (= "=") (binary_expression "puVar16 != PTR_flip_pipe_00077a74" (identifier "puVar16") (!= "!=") (identifier "PTR_flip_pipe_00077a74"))) (; ";")) (expression_statement "*(int *)puVar13 = iVar22;" (assignment_expression "*(int *)puVar13 = iVar22" (pointer_expression "*(int *)puVar13" (* "*") (cast_expression "(int *)puVar13" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (= "=") (identifier "iVar22")) (; ";")) (if_statement "if (bVar1) goto LAB_000223f0;" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (goto_statement "goto LAB_000223f0;" (goto "goto") (statement_identifier "LAB_000223f0") (; ";"))) (labeled_statement "LAB_000224a4:\n        add_or_remove_pipe_symbol_from_answer();" (statement_identifier "LAB_000224a4") (: ":") (expression_statement "add_or_remove_pipe_symbol_from_answer();" (call_expression "add_or_remove_pipe_symbol_from_answer()" (identifier "add_or_remove_pipe_symbol_from_answer") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);" (assignment_expression "uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13)" (parenthesized_expression "(*(code *)PTR_mallocstrcpy_00077568)" (( "(") (pointer_expression "*(code *)PTR_mallocstrcpy_00077568" (* "*") (cast_expression "(code *)PTR_mallocstrcpy_00077568" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mallocstrcpy_00077568"))) () ")")) (argument_list "(uVar9,*(undefined4 *)puVar13)" (( "(") (identifier "uVar9") (, ",") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")")))) (; ";")) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;" (if "if") (parenthesized_expression "(puVar16 == PTR_flip_pipe_00077a74)" (( "(") (binary_expression "puVar16 == PTR_flip_pipe_00077a74" (identifier "puVar16") (== "==") (identifier "PTR_flip_pipe_00077a74")) () ")")) (goto_statement "goto LAB_000224a4;" (goto "goto") (statement_identifier "LAB_000224a4") (; ";"))) (if_statement "if (local_38 == 0) {\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" (if "if") (parenthesized_expression "(local_38 == 0)" (( "(") (binary_expression "local_38 == 0" (identifier "local_38") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000223f0:\n      if (!bVar2) goto LAB_00022218;\n      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;\n      if (**(char **)puVar13 == '\0') goto LAB_00022418;\n      goto LAB_000225b0;\n    }" ({ "{") (labeled_statement "LAB_000223f0:\n      if (!bVar2) goto LAB_00022218;" (statement_identifier "LAB_000223f0") (: ":") (if_statement "if (!bVar2) goto LAB_00022218;" (if "if") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")")) (goto_statement "goto LAB_00022218;" (goto "goto") (statement_identifier "LAB_00022218") (; ";")))) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;" (if "if") (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" (( "(") (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" (( "(") (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022558;" (goto "goto") (statement_identifier "LAB_00022558") (; ";"))) (if_statement "if (**(char **)puVar13 == '\0') goto LAB_00022418;" (if "if") (parenthesized_expression "(**(char **)puVar13 == '\0')" (( "(") (binary_expression "**(char **)puVar13 == '\0'" (pointer_expression "**(char **)puVar13" (* "*") (pointer_expression "*(char **)puVar13" (* "*") (cast_expression "(char **)puVar13" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar13")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00022418;" (goto "goto") (statement_identifier "LAB_00022418") (; ";"))) (goto_statement "goto LAB_000225b0;" (goto "goto") (statement_identifier "LAB_000225b0") (; ";")) (} "}"))) (expression_statement "uVar17 = *(uint *)puVar4;" (assignment_expression "uVar17 = *(uint *)puVar4" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "uVar10 = uVar17 & 0x2000;" (assignment_expression "uVar10 = uVar17 & 0x2000" (identifier "uVar10") (= "=") (binary_expression "uVar17 & 0x2000" (identifier "uVar17") (& "&") (number_literal "0x2000"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((uVar10 == 0) || (local_38 != -2))" (( "(") (binary_expression "(uVar10 == 0) || (local_38 != -2)" (parenthesized_expression "(uVar10 == 0)" (( "(") (binary_expression "uVar10 == 0" (identifier "uVar10") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_38 != -2)" (( "(") (binary_expression "local_38 != -2" (identifier "local_38") (!= "!=") (number_literal "-2")) () ")"))) () ")")) (; ";")) (if_statement "if (bVar2) {\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }\n  else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\nLAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);\n    if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }\n    iVar22 = *(int *)puVar3;\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }\n  }" ({ "{") (labeled_statement "LAB_00022558:\n    open_buffer(puVar24 + 0x2cac,1);" (statement_identifier "LAB_00022558") (: ":") (expression_statement "open_buffer(puVar24 + 0x2cac,1);" (call_expression "open_buffer(puVar24 + 0x2cac,1)" (identifier "open_buffer") (argument_list "(puVar24 + 0x2cac,1)" (( "(") (binary_expression "puVar24 + 0x2cac" (identifier "puVar24") (+ "+") (number_literal "0x2cac")) (, ",") (number_literal "1") () ")"))) (; ";"))) (if_statement "if (**(char **)puVar13 != '\0') {\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" (if "if") (parenthesized_expression "(**(char **)puVar13 != '\0')" (( "(") (binary_expression "**(char **)puVar13 != '\0'" (pointer_expression "**(char **)puVar13" (* "*") (pointer_expression "*(char **)puVar13" (* "*") (cast_expression "(char **)puVar13" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar13")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000225b0:\n      execute_command();\n      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);\n    }" ({ "{") (labeled_statement "LAB_000225b0:\n      execute_command();" (statement_identifier "LAB_000225b0") (: ":") (expression_statement "execute_command();" (call_expression "execute_command()" (identifier "execute_command") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);" (call_expression "update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" (identifier "update_history") (argument_list "(PTR_execute_history_00077a60,*(undefined4 *)puVar13)" (( "(") (identifier "PTR_execute_history_00077a60") (, ",") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" (identifier "iVar22") (= "=") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) (; ";")) (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" (if "if") (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" (( "(") (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" (( "(") (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)(iVar22 + 0x1c) = 0;\n      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);\n      *(undefined4 *)(iVar22 + 0x20) = 0;\n      set_modified();\n      bVar2 = true;\n      goto LAB_00022260;\n    }" ({ "{") (expression_statement "*(undefined4 *)(iVar22 + 0x1c) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x1c) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);" (assignment_expression "*(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4)" (pointer_expression "*(undefined4 *)(iVar22 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x10)" (( "(") (binary_expression "iVar22 + 0x10" (identifier "iVar22") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(iVar22 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 4)" (( "(") (binary_expression "iVar22 + 4" (identifier "iVar22") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(iVar22 + 0x20) = 0;" (assignment_expression "*(undefined4 *)(iVar22 + 0x20) = 0" (pointer_expression "*(undefined4 *)(iVar22 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x20)" (( "(") (binary_expression "iVar22 + 0x20" (identifier "iVar22") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "set_modified();" (call_expression "set_modified()" (identifier "set_modified") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_00022260;" (goto "goto") (statement_identifier "LAB_00022260") (; ";")) (} "}"))) (} "}")) (else_clause "else {\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" (else "else") (compound_statement "{\nLAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;\n    uVar11 = real_dir_from_tilde(uVar23);\n    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);\n    iVar22 = *(int *)puVar4;\n    *(undefined4 *)puVar13 = uVar11;\n    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);\n    bVar2 = false;\nLAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }\nLAB_00022418:\n    iVar22 = *(int *)puVar3;\n  }" ({ "{") (labeled_statement "LAB_00022218:\n    uVar23 = *(undefined4 *)puVar13;" (statement_identifier "LAB_00022218") (: ":") (expression_statement "uVar23 = *(undefined4 *)puVar13;" (assignment_expression "uVar23 = *(undefined4 *)puVar13" (identifier "uVar23") (= "=") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13")))) (; ";"))) (expression_statement "uVar11 = real_dir_from_tilde(uVar23);" (assignment_expression "uVar11 = real_dir_from_tilde(uVar23)" (identifier "uVar11") (= "=") (call_expression "real_dir_from_tilde(uVar23)" (identifier "real_dir_from_tilde") (argument_list "(uVar23)" (( "(") (identifier "uVar23") () ")")))) (; ";")) (expression_statement "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);" (assignment_expression "uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" (identifier "uVar11") (= "=") (call_expression "(*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11)" (parenthesized_expression "(*(code *)PTR_free_and_assign_0007793c)" (( "(") (pointer_expression "*(code *)PTR_free_and_assign_0007793c" (* "*") (cast_expression "(code *)PTR_free_and_assign_0007793c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_and_assign_0007793c"))) () ")")) (argument_list "(uVar23,uVar11)" (( "(") (identifier "uVar23") (, ",") (identifier "uVar11") () ")")))) (; ";")) (expression_statement "iVar22 = *(int *)puVar4;" (assignment_expression "iVar22 = *(int *)puVar4" (identifier "iVar22") (= "=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "*(undefined4 *)puVar13 = uVar11;" (assignment_expression "*(undefined4 *)puVar13 = uVar11" (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);" (call_expression "open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" (identifier "open_buffer") (argument_list "(uVar11,(uint)(iVar22 << 0x12) >> 0x1f)" (( "(") (identifier "uVar11") (, ",") (binary_expression "(uint)(iVar22 << 0x12) >> 0x1f" (call_expression "(uint)(iVar22 << 0x12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar22 << 0x12)" (( "(") (binary_expression "iVar22 << 0x12" (identifier "iVar22") (<< "<<") (number_literal "0x12")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")"))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_00022260:\n    if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" (statement_identifier "LAB_00022260") (: ":") (if_statement "if ((*(uint *)puVar4 & 0x2000) != 0) {\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" (if "if") (parenthesized_expression "((*(uint *)puVar4 & 0x2000) != 0)" (( "(") (binary_expression "(*(uint *)puVar4 & 0x2000) != 0" (parenthesized_expression "(*(uint *)puVar4 & 0x2000)" (( "(") (binary_expression "*(uint *)puVar4 & 0x2000" (pointer_expression "*(uint *)puVar4" (* "*") (cast_expression "(uint *)puVar4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }\n      prepare_for_display();\n      goto LAB_00022298;\n    }" ({ "{") (if_statement "if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" (if "if") (parenthesized_expression "((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0))" (( "(") (binary_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&\n         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" (parenthesized_expression "(((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2))" (( "(") (binary_expression "((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)" (parenthesized_expression "((*(uint *)(puVar4 + 4) & 4) != 0)" (( "(") (binary_expression "(*(uint *)(puVar4 + 4) & 4) != 0" (parenthesized_expression "(*(uint *)(puVar4 + 4) & 4)" (( "(") (binary_expression "*(uint *)(puVar4 + 4) & 4" (pointer_expression "*(uint *)(puVar4 + 4)" (* "*") (cast_expression "(uint *)(puVar4 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar4 + 4)" (( "(") (binary_expression "puVar4 + 4" (identifier "puVar4") (+ "+") (number_literal "4")) () ")")))) (& "&") (number_literal "4")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(!bVar2)" (( "(") (unary_expression "!bVar2" (! "!") (identifier "bVar2")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)" (( "(") (comma_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0" (assignment_expression "iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" (identifier "iVar14") (= "=") (call_expression "has_old_position(*(undefined4 *)puVar13,&local_34,&local_30)" (identifier "has_old_position") (argument_list "(*(undefined4 *)puVar13,&local_34,&local_30)" (( "(") (pointer_expression "*(undefined4 *)puVar13" (* "*") (cast_expression "(undefined4 *)puVar13" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar13"))) (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (, ",") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        do_gotolinecolumn(local_34,local_30,0,0);\n      }" ({ "{") (expression_statement "do_gotolinecolumn(local_34,local_30,0,0);" (call_expression "do_gotolinecolumn(local_34,local_30,0,0)" (identifier "do_gotolinecolumn") (argument_list "(local_34,local_30,0,0)" (( "(") (identifier "local_34") (, ",") (identifier "local_30") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "prepare_for_display();" (call_expression "prepare_for_display()" (identifier "prepare_for_display") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00022298;" (goto "goto") (statement_identifier "LAB_00022298") (; ";")) (} "}")))) (labeled_statement "LAB_00022418:\n    iVar22 = *(int *)puVar3;" (statement_identifier "LAB_00022418") (: ":") (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" (identifier "iVar22") (= "=") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) (; ";"))) (} "}")))) (if_statement "if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" (if "if") (parenthesized_expression "((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14))" (( "(") (binary_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)" (parenthesized_expression "(*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15)" (( "(") (binary_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15" (pointer_expression "*(int *)(*(int *)(iVar22 + 0x10) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar22 + 0x10) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar22 + 0x10) + 4)" (( "(") (binary_expression "*(int *)(iVar22 + 0x10) + 4" (pointer_expression "*(int *)(iVar22 + 0x10)" (* "*") (cast_expression "(int *)(iVar22 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x10)" (( "(") (binary_expression "iVar22 + 0x10" (identifier "iVar22") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "iVar15")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(iVar22 + 0x1c) != iVar14)" (( "(") (binary_expression "*(int *)(iVar22 + 0x1c) != iVar14" (pointer_expression "*(int *)(iVar22 + 0x1c)" (* "*") (cast_expression "(int *)(iVar22 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x1c)" (( "(") (binary_expression "iVar22 + 0x1c" (identifier "iVar22") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (identifier "iVar14")) () ")"))) () ")")) (compound_statement "{\n    set_modified();\n    iVar22 = *(int *)puVar3;\n  }" ({ "{") (expression_statement "set_modified();" (call_expression "set_modified()" (identifier "set_modified") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar22 = *(int *)puVar3;" (assignment_expression "iVar22 = *(int *)puVar3" (identifier "iVar22") (= "=") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(iVar22 + 0x3c) = uVar18;" (assignment_expression "*(undefined4 *)(iVar22 + 0x3c) = uVar18" (pointer_expression "*(undefined4 *)(iVar22 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar22 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x3c)" (( "(") (binary_expression "iVar22 + 0x3c" (identifier "iVar22") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "*PTR_refresh_needed_000775a4 = 1;" (assignment_expression "*PTR_refresh_needed_000775a4 = 1" (pointer_expression "*PTR_refresh_needed_000775a4" (* "*") (identifier "PTR_refresh_needed_000775a4")) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00022298:\n  (*(code *)PTR_free_0007810c)(uVar9);" (statement_identifier "LAB_00022298") (: ":") (expression_statement "(*(code *)PTR_free_0007810c)(uVar9);" (call_expression "(*(code *)PTR_free_0007810c)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_0007810c)" (( "(") (pointer_expression "*(code *)PTR_free_0007810c" (* "*") (cast_expression "(code *)PTR_free_0007810c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_0007810c"))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";"))) (if_statement "if (local_2c == *(int *)puVar8) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar8)" (( "(") (binary_expression "local_2c == *(int *)puVar8" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar24 = PTR___stack_chk_fail_000780c0;" (assignment_expression "puVar24 = PTR___stack_chk_fail_000780c0" (identifier "puVar24") (= "=") (identifier "PTR___stack_chk_fail_000780c0")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000780c0)();" (call_expression "(*(code *)PTR___stack_chk_fail_000780c0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000780c0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000780c0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000780c0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000780c0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {\n    show_restricted_warning();\n    return;\n  }" (if "if") (parenthesized_expression "(**(int **)(puVar24 + 0x54fb0) << 8 < 0)" (( "(") (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8 < 0" (binary_expression "**(int **)(puVar24 + 0x54fb0) << 8" (pointer_expression "**(int **)(puVar24 + 0x54fb0)" (* "*") (pointer_expression "*(int **)(puVar24 + 0x54fb0)" (* "*") (cast_expression "(int **)(puVar24 + 0x54fb0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar24 + 0x54fb0)" (( "(") (binary_expression "puVar24 + 0x54fb0" (identifier "puVar24") (+ "+") (number_literal "0x54fb0")) () ")"))))) (<< "<<") (number_literal "8")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    show_restricted_warning();\n    return;\n  }" ({ "{") (expression_statement "show_restricted_warning();" (call_expression "show_restricted_warning()" (identifier "show_restricted_warning") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "do_insertfile();" (call_expression "do_insertfile()" (identifier "do_insertfile") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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)))))) (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: (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: (identifier))) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (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: (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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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 (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier))))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (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))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))))))) (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)))))) (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: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal) (identifier) (identifier) (identifier) (identifier) (identifier) (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 (parenthesized_expression (binary_expression left: (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: (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: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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)) value: (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))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (identifier) right: (identifier))) consequence: (break_statement)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (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))) (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: (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (break_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)) 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: (identifier) right: (identifier))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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: (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: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) 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: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_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: (identifier)))) right: (char_literal (escape_sequence)))) 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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (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: (identifier)))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) 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))))) (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 (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (true))) (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)) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (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: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (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: (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 (unary_expression argument: (identifier))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (pointer_expression argument: (identifier)) (pointer_expression argument: (identifier))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal) (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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: (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))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))))) 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)) value: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (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 (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (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))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(void)

{
  bool bVar1;
  bool bVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  undefined4 uVar9;
  uint uVar10;
  undefined4 uVar11;
  undefined4 uVar12;
  undefined *puVar13;
  int iVar14;
  int iVar15;
  undefined *puVar16;
  uint uVar17;
  undefined4 uVar18;
  undefined *puVar19;
  undefined *puVar20;
  undefined *puVar21;
  int iVar22;
  undefined4 uVar23;
  undefined *puVar24;
  int local_38;
  undefined4 local_34;
  undefined4 local_30;
  int local_2c;
  
  puVar8 = PTR___stack_chk_guard_000780f8;
  puVar7 = PTR_present_path_000778d8;
  puVar6 = PTR_edit_refresh_000778b4;
  puVar5 = PTR_operating_dir_000777a8;
  puVar4 = PTR_flags_0007759c;
  puVar3 = PTR_openfile_0007756c;
  puVar24 = PTR_s_d_of_current_line_0007755c;
  local_2c = *(int *)PTR___stack_chk_guard_000780f8;
  bVar2 = false;
  uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(0,PTR_s_d_of_current_line_0007755c + 0x2cac);
  uVar17 = *(uint *)puVar4;
  uVar18 = *(undefined4 *)(*(int *)puVar3 + 0x3c);
  uVar10 = uVar17 & 0x2000;
  puVar19 = PTR_s_d_of_current_line_0007755c + -0x96c;
  *PTR_as_an_at_000778ac = 0;
  puVar20 = PTR_s_d_of_current_line_0007755c + -0x994;
  puVar21 = PTR_s_d_of_current_line_0007755c + -0x9f0;
  do {
    while( true ) {
      while( true ) {
        while( true ) {
          while( true ) {
            if (bVar2) {
              if (uVar10 == 0) {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0xa04,5);
              }
              else {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)
                                   (0,PTR_s_d_of_current_line_0007755c + -0xa28,5);
              }
              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);
              uVar23 = 0x80;
              *(undefined4 *)puVar7 = uVar12;
              puVar13 = *(undefined **)puVar5;
              puVar16 = PTR_execute_history_00077a60;
            }
            else {
              if (uVar10 == 0) {
                if ((uVar17 & 0x20000) == 0) {
                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar19,5);
                }
                else {
                  uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar20);
                }
              }
              else if ((uVar17 & 0x20000) == 0) {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar24 + -0x9bc);
              }
              else {
                uVar11 = (*(code *)PTR_dcgettext_000780cc)(0,puVar21);
              }
              uVar12 = (*(code *)PTR_mallocstrcpy_00077568)(*(undefined4 *)puVar7,puVar24 + -0xa2c);
              uVar23 = 0x40;
              *(undefined4 *)puVar7 = uVar12;
              puVar13 = *(undefined **)puVar5;
              puVar16 = (undefined *)0x0;
            }
            if (puVar13 == (undefined *)0x0) {
              puVar13 = puVar24 + -0xa2c;
            }
            local_38 = do_prompt(1,1,uVar23,uVar9,puVar16,puVar6,uVar11,puVar13);
            puVar13 = PTR_answer_0007792c;
            if ((local_38 == -1) || ((local_38 == -2 && ((*(uint *)puVar4 & 0x2000) == 0)))) {
              uVar18 = (*(code *)PTR_dcgettext_000780cc)
                                 (0,PTR_s_d_of_current_line_0007755c + -0x1200,5);
              (*(code *)PTR_statusbar_000775c4)(uVar18);
              goto LAB_00022298;
            }
            iVar14 = *(int *)(*(int *)puVar3 + 0x1c);
            iVar15 = *(int *)(*(int *)(*(int *)puVar3 + 0x10) + 4);
            puVar16 = (undefined *)func_from_key(&local_38);
            uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);
            if (puVar16 != PTR_flip_newbuffer_00077a64) break;
            if ((*(uint *)puVar4 & 0x80) == 0) {
              uVar17 = *(uint *)puVar4 ^ 0x2000;
              *(uint *)puVar4 = uVar17;
              uVar10 = uVar17 & 0x2000;
            }
            else {
              (*(code *)PTR_beep_00078030)();
              uVar17 = *(uint *)puVar4;
              uVar10 = uVar17 & 0x2000;
            }
          }
          if (puVar16 != PTR_flip_convert_00077a68) break;
          uVar17 = *(uint *)puVar4 ^ 0x20000;
          *(uint *)puVar4 = uVar17;
          uVar10 = uVar17 & 0x2000;
        }
        if (puVar16 != PTR_flip_execute_00077a6c) break;
        uVar17 = *(uint *)puVar4;
        bVar2 = (bool)(bVar2 ^ 1);
        uVar10 = uVar17 & 0x2000;
      }
      if (puVar16 != PTR_to_files_void_00077a70) break;
      iVar22 = do_browse_from(*(undefined4 *)puVar13);
      if (iVar22 == 0) {
        uVar17 = *(uint *)puVar4;
        uVar10 = uVar17 & 0x2000;
      }
      else {
        (*(code *)PTR_free_0007810c)(*(undefined4 *)puVar13);
        local_38 = 0;
        bVar1 = puVar16 != PTR_flip_pipe_00077a74;
        *(int *)puVar13 = iVar22;
        if (bVar1) goto LAB_000223f0;
LAB_000224a4:
        add_or_remove_pipe_symbol_from_answer();
        uVar9 = (*(code *)PTR_mallocstrcpy_00077568)(uVar9,*(undefined4 *)puVar13);
        uVar17 = *(uint *)puVar4;
        uVar10 = uVar17 & 0x2000;
      }
    }
    if (puVar16 == PTR_flip_pipe_00077a74) goto LAB_000224a4;
    if (local_38 == 0) {
LAB_000223f0:
      if (!bVar2) goto LAB_00022218;
      if ((*(uint *)puVar4 & 0x2000) != 0) goto LAB_00022558;
      if (**(char **)puVar13 == '\0') goto LAB_00022418;
      goto LAB_000225b0;
    }
    uVar17 = *(uint *)puVar4;
    uVar10 = uVar17 & 0x2000;
  } while ((uVar10 == 0) || (local_38 != -2));
  if (bVar2) {
LAB_00022558:
    open_buffer(puVar24 + 0x2cac,1);
    if (**(char **)puVar13 != '\0') {
LAB_000225b0:
      execute_command();
      update_history(PTR_execute_history_00077a60,*(undefined4 *)puVar13);
    }
    iVar22 = *(int *)puVar3;
    if ((*(uint *)puVar4 & 0x2000) != 0) {
      *(undefined4 *)(iVar22 + 0x1c) = 0;
      *(undefined4 *)(iVar22 + 0x10) = *(undefined4 *)(iVar22 + 4);
      *(undefined4 *)(iVar22 + 0x20) = 0;
      set_modified();
      bVar2 = true;
      goto LAB_00022260;
    }
  }
  else {
LAB_00022218:
    uVar23 = *(undefined4 *)puVar13;
    uVar11 = real_dir_from_tilde(uVar23);
    uVar11 = (*(code *)PTR_free_and_assign_0007793c)(uVar23,uVar11);
    iVar22 = *(int *)puVar4;
    *(undefined4 *)puVar13 = uVar11;
    open_buffer(uVar11,(uint)(iVar22 << 0x12) >> 0x1f);
    bVar2 = false;
LAB_00022260:
    if ((*(uint *)puVar4 & 0x2000) != 0) {
      if ((((*(uint *)(puVar4 + 4) & 4) != 0) && (!bVar2)) &&
         (iVar14 = has_old_position(*(undefined4 *)puVar13,&local_34,&local_30), iVar14 != 0)) {
        do_gotolinecolumn(local_34,local_30,0,0);
      }
      prepare_for_display();
      goto LAB_00022298;
    }
LAB_00022418:
    iVar22 = *(int *)puVar3;
  }
  if ((*(int *)(*(int *)(iVar22 + 0x10) + 4) != iVar15) || (*(int *)(iVar22 + 0x1c) != iVar14)) {
    set_modified();
    iVar22 = *(int *)puVar3;
  }
  *(undefined4 *)(iVar22 + 0x3c) = uVar18;
  *PTR_refresh_needed_000775a4 = 1;
LAB_00022298:
  (*(code *)PTR_free_0007810c)(uVar9);
  if (local_2c == *(int *)puVar8) {
    return;
  }
  puVar24 = PTR___stack_chk_fail_000780c0;
  (*(code *)PTR___stack_chk_fail_000780c0)();
  if (**(int **)(puVar24 + 0x54fb0) << 8 < 0) {
    show_restricted_warning();
    return;
  }
  MASKED();
  return;
}

