
int _rl_vi_domove_motion_cleanup(int c,_rl_vimotion_cxt *m)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  int *piVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  uint uVar11;
  int iVar12;
  
  puVar4 = PTR_rl_point_0014555c;
  puVar3 = PTR_rl_end_00145558;
  puVar2 = PTR_rl_line_buffer_00145548;
  iVar8 = m->end;
  iVar6 = *(int *)PTR_rl_line_buffer_00145548;
  *(int *)PTR_rl_end_00145558 = iVar8;
  *(undefined1 *)(iVar6 + iVar8) = 0;
  puVar5 = PTR_rl_mark_00145640;
  iVar8 = *(int *)puVar3;
  iVar6 = *(int *)puVar4;
  if (iVar8 < *(int *)puVar4) {
    *(int *)puVar4 = iVar8;
    iVar6 = iVar8;
  }
  iVar12 = *(int *)puVar5;
  uVar11 = c & 0xff;
  if (iVar12 == iVar6) {
    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;
    return -1;
  }
  if ((uVar11 == c) &&
     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)) {
    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();
    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;
  }
  else {
    bVar1 = c == 0x57;
  }
  iVar9 = m->key;
  if ((bVar1) && (iVar6 < iVar8)) {
    if (iVar12 < iVar6) {
      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))
      {
        iVar6 = iVar6 + -1;
        *(int *)puVar4 = iVar6;
        goto LAB_000e54e4;
      }
      if (iVar9 != 99) {
        *(int *)puVar4 = iVar12;
        *(int *)puVar5 = iVar6;
        goto LAB_000e5504;
      }
    }
    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;
LAB_000e55c8:
    if ((uVar11 == c) &&
       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {
      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();
      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;
    }
    else {
      bVar1 = c == 0x57;
    }
    if (bVar1) {
      iVar9 = iVar12;
      if (iVar12 < iVar6) {
        iVar10 = *(int *)puVar2;
        do {
          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))
          goto LAB_000e56c8;
          iVar6 = iVar6 + -1;
          *(int *)puVar4 = iVar6;
        } while (iVar12 != iVar6);
      }
      else {
LAB_000e56c8:
        if ((iVar12 != iVar6) &&
           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||
            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;
      }
      if (iVar9 < iVar8) {
        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();
        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {
          iVar12 = *(int *)puVar5;
          iVar6 = *(int *)puVar4 + 1;
          *(int *)puVar4 = iVar6;
        }
        else {
          iVar8 = *(int *)puVar4;
          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);
          *(int *)puVar4 = iVar6;
          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {
            iVar6 = *(int *)puVar3;
            iVar12 = *(int *)puVar5;
            *(int *)puVar4 = iVar6;
          }
          else {
            iVar12 = *(int *)puVar5;
          }
        }
        goto LAB_000e54ec;
      }
    }
LAB_000e570c:
    iVar6 = *(int *)puVar4;
LAB_000e54ec:
    bVar1 = iVar12 < iVar6;
  }
  else {
LAB_000e54e4:
    if (iVar9 != 99) goto LAB_000e54ec;
    bVar1 = iVar12 < iVar6;
    if (iVar12 <= iVar6) goto LAB_000e55c8;
  }
  if (bVar1) {
    *(int *)puVar4 = iVar12;
    *(int *)puVar5 = iVar6;
  }
LAB_000e5504:
  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {
    (**(code **)PTR_rl_redisplay_function_00145bf4)();
  }
  iVar6 = vidomove_dispatch(m);
  return iVar6;
}



undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 uVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  int iVar13;
  
  puVar4 = PTR_rl_point_0014555c;
  puVar3 = PTR_rl_end_00145558;
  puVar2 = PTR_rl_line_buffer_00145548;
  iVar9 = *(int *)(param_2 + 0x18);
  iVar6 = *(int *)PTR_rl_line_buffer_00145548;
  *(int *)PTR_rl_end_00145558 = iVar9;
  *(undefined1 *)(iVar6 + iVar9) = 0;
  puVar5 = PTR_rl_mark_00145640;
  iVar9 = *(int *)puVar3;
  iVar6 = *(int *)puVar4;
  if (iVar9 < *(int *)puVar4) {
    *(int *)puVar4 = iVar9;
    iVar6 = iVar9;
  }
  iVar13 = *(int *)puVar5;
  uVar12 = param_1 & 0xff;
  if (iVar13 == iVar6) {
    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;
    return 0xffffffff;
  }
  if ((uVar12 == param_1) &&
     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {
    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();
    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;
  }
  else {
    bVar1 = param_1 == 0x57;
  }
  iVar10 = *(int *)(param_2 + 0x1c);
  if ((bVar1) && (iVar6 < iVar9)) {
    if (iVar13 < iVar6) {
      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))
      {
        iVar6 = iVar6 + -1;
        *(int *)puVar4 = iVar6;
        goto LAB_000e54e4;
      }
      if (iVar10 != 99) {
        *(int *)puVar4 = iVar13;
        *(int *)puVar5 = iVar6;
        goto LAB_000e5504;
      }
    }
    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;
LAB_000e55c8:
    if ((uVar12 == param_1) &&
       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {
      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();
      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;
    }
    else {
      bVar1 = param_1 == 0x57;
    }
    if (bVar1) {
      iVar10 = iVar13;
      if (iVar13 < iVar6) {
        iVar11 = *(int *)puVar2;
        do {
          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))
          goto LAB_000e56c8;
          iVar6 = iVar6 + -1;
          *(int *)puVar4 = iVar6;
        } while (iVar13 != iVar6);
      }
      else {
LAB_000e56c8:
        if ((iVar13 != iVar6) &&
           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||
            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;
      }
      if (iVar10 < iVar9) {
        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();
        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {
          iVar13 = *(int *)puVar5;
          iVar6 = *(int *)puVar4 + 1;
          *(int *)puVar4 = iVar6;
        }
        else {
          iVar9 = *(int *)puVar4;
          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);
          *(int *)puVar4 = iVar6;
          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {
            iVar6 = *(int *)puVar3;
            iVar13 = *(int *)puVar5;
            *(int *)puVar4 = iVar6;
          }
          else {
            iVar13 = *(int *)puVar5;
          }
        }
        goto LAB_000e54ec;
      }
    }
LAB_000e570c:
    iVar6 = *(int *)puVar4;
LAB_000e54ec:
    bVar1 = iVar13 < iVar6;
  }
  else {
LAB_000e54e4:
    if (iVar10 != 99) goto LAB_000e54ec;
    bVar1 = iVar13 < iVar6;
    if (iVar13 <= iVar6) goto LAB_000e55c8;
  }
  if (bVar1) {
    *(int *)puVar4 = iVar13;
    *(int *)puVar5 = iVar6;
  }
LAB_000e5504:
  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {
    (**(code **)PTR_rl_redisplay_function_00145bf4)();
  }
  uVar7 = FUN_000e29b8(param_2);
  return uVar7;
}


lui gp,0x6
addiu gp,gp,0x7140
addu gp,gp,t9
lw a2,-0x6ff8(gp)
addiu sp,sp,-0x48
lw v1,0x18(a1)
sw s7,0x3c(sp)
sw s5,0x34(sp)
lw v0,0x0(a2)
lw s7,-0x6fe8(gp)
lw s5,-0x6fe4(gp)
addu v0,v0,v1
sw gp,0x10(sp)
sw s6,0x38(sp)
sw s0,0x20(sp)
sw ra,0x44(sp)
sw s8,0x40(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
sw v1,0x0(s7)
sb zero,0x0(v0)
lw s0,0x0(s5)
lw s6,0x0(s7)
slt v0,s6,s0
beq v0,zero,0x000e5478
_lw s8,-0x6f00(gp)
sw s6,0x0(s5)
or s0,s6,zero
lw s4,0x0(s8)
beq s4,s0,0x000e572c
_andi s2,a0,0xff
or s1,a0,zero
beq s2,a0,0x000e5564
_or s3,a1,zero
xori v0,s1,0x57
sltiu v0,v0,0x1
beq v0,zero,0x000e54e0
_lw v1,0x1c(s3)
slt v0,s0,s6
beq v0,zero,0x000e54e4
_li v0,0x63
slt v0,s4,s0
beq v0,zero,0x000e5658
_li v0,0x63
lw v0,0x0(a2)
li a0,0x20
addu v0,v0,s0
lb v0,0x0(v0)
beq v0,a0,0x000e5714
_li a0,0x9
beq v0,a0,0x000e5718
_li v0,0x63
addiu s0,s0,-0x1
sw s0,0x0(s5)
li v0,0x63
beq v1,v0,0x000e55c0
_slt v0,s0,s4
slt v0,s4,s0
beq v0,zero,0x000e5504
_lw v0,-0x7ee8(gp)
sw s4,0x0(s5)
sw s0,0x0(s8)
lw v0,-0x7ee8(gp)
lw v0,0x0(v0)
ext v0,v0,0x13,0x1
beq v0,zero,0x000e552c
_lw t9,-0x69cc(gp)
lw v0,-0x694c(gp)
lw t9,0x0(v0)
jalr t9
_nop
lw gp,0x10(sp)
lw t9,-0x69cc(gp)
or a0,s3,zero
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
addiu t9,t9,0x29b8
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
b 0x000e29b8
_addiu sp,sp,0x48
lw t9,-0x6344(gp)
jalr t9
_sw a2,0x1c(sp)
sll v1,s1,0x1
lw v0,0x0(v0)
lw gp,0x10(sp)
addu v0,v0,v1
lhu v0,0x0(v0)
andi v0,v0,0x2
beq v0,zero,0x000e5490
_lw a2,0x1c(sp)
lw t9,-0x5fc0(gp)
jalr t9
_nop
sll v1,s1,0x2
lw v0,0x0(v0)
lw gp,0x10(sp)
lw a2,0x1c(sp)
addu v0,v0,v1
lw v0,0x0(v0)
xori v0,v0,0x57
b 0x000e5498
_sltiu v0,v0,0x1
bne v0,zero,0x000e54f0
_slt v0,s4,s0
beq s2,s1,0x000e5674
_lw t9,-0x6344(gp)
xori s1,s1,0x57
sltiu s1,s1,0x1
beq s1,zero,0x000e570c
_slt v0,s4,s0
beq v0,zero,0x000e56c8
_li v1,0x20
lw a0,0x0(a2)
li a1,0x9
addu v0,a0,s0
lb v0,0x0(v0)
beq v0,v1,0x000e5608
_nop
bne v0,a1,0x000e56c8
_nop
addiu s0,s0,-0x1
bne s4,s0,0x000e55f0
_sw s0,0x0(s5)
slt s6,s4,s6
beq s6,zero,0x000e570c
_lw t9,-0x6114(gp)
jalr t9
_nop
li v1,0x1
beq v0,v1,0x000e5644
_lw gp,0x10(sp)
lw v0,-0x67c4(gp)
lw v0,0x0(v0)
beq v0,zero,0x000e5778
_lw t9,-0x67b0(gp)
lw s0,0x0(s5)
lw s4,0x0(s8)
addiu s0,s0,0x1
b 0x000e54ec
_sw s0,0x0(s5)
bne v1,v0,0x000e5504
_lw v0,-0x7ee8(gp)
slt v0,s0,s4
bne v0,zero,0x000e5504
_lw v0,-0x7ee8(gp)
b 0x000e55c8
_nop
jalr t9
_sw a2,0x1c(sp)
sll v1,s2,0x1
lw v0,0x0(v0)
lw gp,0x10(sp)
addu v0,v0,v1
lhu v0,0x0(v0)
andi v0,v0,0x2
beq v0,zero,0x000e55d0
_lw a2,0x1c(sp)
lw t9,-0x5fc0(gp)
jalr t9
_sll s2,s2,0x2
lw v0,0x0(v0)
lw gp,0x10(sp)
lw a2,0x1c(sp)
addu s2,v0,s2
lw s1,0x0(s2)
xori s1,s1,0x57
b 0x000e55d8
_sltiu s1,s1,0x1
beq s4,s0,0x000e5614
_nop
bltz s0,0x000e570c
_addiu v0,s6,-0x1
slt v0,s0,v0
beq v0,zero,0x000e570c
_li v1,0x20
lw v0,0x0(a2)
addu v0,v0,s0
lb v0,0x0(v0)
beq v0,v1,0x000e570c
_li v1,0x9
beq v0,v1,0x000e570c
_nop
slt s0,s0,s6
bne s0,zero,0x000e5620
_lw t9,-0x6114(gp)
b 0x000e54ec
_lw s0,0x0(s5)
li v0,0x63
beq v1,v0,0x000e55c8
_nop
sw s4,0x0(s5)
b 0x000e5500
_sw s0,0x0(s8)
lw a0,-0x7ee8(gp)
lui v1,0xffef
lw ra,0x44(sp)
ori v1,v1,0xffff
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw v0,0x0(a0)
lw s6,0x38(sp)
lw s5,0x34(sp)
and v0,v0,v1
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
sw v0,0x0(a0)
li v0,-0x1
jr ra
_addiu sp,sp,0x48
li a0,0x1
jalr t9
_lw s1,0x0(s5)
lw gp,0x10(sp)
or s0,v0,zero
beq v0,s1,0x000e57ac
_sw v0,0x0(s5)
lw v0,0x0(s7)
slt v0,v0,s0
bne v0,zero,0x000e57ac
_nop
b 0x000e54ec
_lw s4,0x0(s8)
lw s0,0x0(s7)
lw s4,0x0(s8)
b 0x000e54ec
_sw s0,0x0(s5)
(translation_unit "undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}\n\n" (function_definition "undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" type_identifier (function_declarator "_rl_vi_domove_motion_cleanup(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_rl_point_0014555c;" (assignment_expression "puVar4 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_rl_end_00145558;" (assignment_expression "puVar3 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar2 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar2 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" identifier = (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)PTR_rl_line_buffer_00145548;" (assignment_expression "iVar6 = *(int *)PTR_rl_line_buffer_00145548" identifier = (pointer_expression "*(int *)PTR_rl_line_buffer_00145548" * (cast_expression "(int *)PTR_rl_line_buffer_00145548" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_rl_end_00145558 = iVar9;" (assignment_expression "*(int *)PTR_rl_end_00145558 = iVar9" (pointer_expression "*(int *)PTR_rl_end_00145558" * (cast_expression "(int *)PTR_rl_end_00145558" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar9) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + iVar9) = 0" (pointer_expression "*(undefined1 *)(iVar6 + iVar9)" * (cast_expression "(undefined1 *)(iVar6 + iVar9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar9)" ( (binary_expression "iVar6 + iVar9" identifier + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = PTR_rl_mark_00145640;" (assignment_expression "puVar5 = PTR_rl_mark_00145640" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)puVar3;" (assignment_expression "iVar9 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" if (parenthesized_expression "(iVar9 < *(int *)puVar4)" ( (binary_expression "iVar9 < *(int *)puVar4" identifier < (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" { (expression_statement "*(int *)puVar4 = iVar9;" (assignment_expression "*(int *)puVar4 = iVar9" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar6 = iVar9;" (assignment_expression "iVar6 = iVar9" identifier = identifier) ;) })) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = param_1 & 0xff;" (assignment_expression "uVar12 = param_1 & 0xff" identifier = (binary_expression "param_1 & 0xff" identifier & number_literal)) ;) (if_statement "if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" if (parenthesized_expression "(iVar13 == iVar6)" ( (binary_expression "iVar13 == iVar6" identifier == identifier) )) (compound_statement "{\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" { (expression_statement "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;" (assignment_expression "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }" if (parenthesized_expression "((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0))" ( (binary_expression "(uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" ( (binary_expression "uVar12 == param_1" identifier == identifier) )) && (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" ( (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar8 + param_1 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + param_1 * 2)" * (cast_expression "(ushort *)(*piVar8 + param_1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + param_1 * 2)" ( (binary_expression "*piVar8 + param_1 * 2" (pointer_expression "*piVar8" * identifier) + (binary_expression "param_1 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }" { (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" ( (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" * (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar8 + param_1 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + param_1 * 4)" * (cast_expression "(int *)(*piVar8 + param_1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + param_1 * 4)" ( (binary_expression "*piVar8 + param_1 * 4" (pointer_expression "*piVar8" * identifier) + (binary_expression "param_1 * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n    bVar1 = param_1 == 0x57;\n  }" else (compound_statement "{\n    bVar1 = param_1 == 0x57;\n  }" { (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" identifier = (binary_expression "param_1 == 0x57" identifier == number_literal)) ;) }))) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" if (parenthesized_expression "((bVar1) && (iVar6 < iVar9))" ( (binary_expression "(bVar1) && (iVar6 < iVar9)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(iVar6 < iVar9)" ( (binary_expression "iVar6 < iVar9" identifier < identifier) ))) )) (compound_statement "{\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }" { (if_statement "if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" if (parenthesized_expression "(iVar13 < iVar6)" ( (binary_expression "iVar13 < iVar6" identifier < identifier) )) (compound_statement "{\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }" { (if_statement "if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" if (parenthesized_expression "((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != '\t')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" { (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e54e4;" goto statement_identifier ;) })) (if_statement "if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" if (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) (compound_statement "{\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" { (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;) })) }) (else_clause "else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" else (if_statement "if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" if (parenthesized_expression "((iVar10 != 99) || (iVar6 < iVar13))" ( (binary_expression "(iVar10 != 99) || (iVar6 < iVar13)" (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) || (parenthesized_expression "(iVar6 < iVar13)" ( (binary_expression "iVar6 < iVar13" identifier < identifier) ))) )) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;)))) (labeled_statement "LAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" statement_identifier : (if_statement "if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" if (parenthesized_expression "((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0))" ( (binary_expression "(uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" ( (binary_expression "uVar12 == param_1" identifier == identifier) )) && (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" ( (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar8 + uVar12 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + uVar12 * 2)" * (cast_expression "(ushort *)(*piVar8 + uVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + uVar12 * 2)" ( (binary_expression "*piVar8 + uVar12 * 2" (pointer_expression "*piVar8" * identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }" { (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" ( (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" * (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar8 + uVar12 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + uVar12 * 4)" * (cast_expression "(int *)(*piVar8 + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + uVar12 * 4)" ( (binary_expression "*piVar8 + uVar12 * 4" (pointer_expression "*piVar8" * identifier) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n      bVar1 = param_1 == 0x57;\n    }" else (compound_statement "{\n      bVar1 = param_1 == 0x57;\n    }" { (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" identifier = (binary_expression "param_1 == 0x57" identifier == number_literal)) ;) })))) (if_statement "if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" { (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" if (parenthesized_expression "(iVar13 < iVar6)" ( (binary_expression "iVar13 < iVar6" identifier < identifier) )) (compound_statement "{\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }" { (expression_statement "iVar11 = *(int *)puVar2;" (assignment_expression "iVar11 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);" do (compound_statement "{\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        }" { (if_statement "if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;" if (parenthesized_expression "((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(iVar11 + iVar6) != ' ')" ( (binary_expression "*(char *)(iVar11 + iVar6) != ' '" (pointer_expression "*(char *)(iVar11 + iVar6)" * (cast_expression "(char *)(iVar11 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6)" ( (binary_expression "iVar11 + iVar6" identifier + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar11 + iVar6) != '\t')" ( (binary_expression "*(char *)(iVar11 + iVar6) != '\t'" (pointer_expression "*(char *)(iVar11 + iVar6)" * (cast_expression "(char *)(iVar11 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6)" ( (binary_expression "iVar11 + iVar6" identifier + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_000e56c8;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar13 != iVar6)" ( (binary_expression "iVar13 != iVar6" identifier != identifier) )) ;) }) (else_clause "else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" else (compound_statement "{\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" { (labeled_statement "LAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" statement_identifier : (if_statement "if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" if (parenthesized_expression "((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))))" ( (binary_expression "(iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" (parenthesized_expression "(iVar13 != iVar6)" ( (binary_expression "iVar13 != iVar6" identifier != identifier) )) && (parenthesized_expression "((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" ( (parenthesized_expression "(((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))" ( (binary_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" (parenthesized_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' '))" ( (binary_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')" (parenthesized_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6))" ( (binary_expression "iVar6 < 0 || (iVar9 + -1 <= iVar6)" (binary_expression "iVar6 < 0" identifier < number_literal) || (parenthesized_expression "(iVar9 + -1 <= iVar6)" ( (binary_expression "iVar9 + -1 <= iVar6" (binary_expression "iVar9 + -1" identifier + number_literal) <= identifier) ))) )) || (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) == ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "(iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" ( (comma_expression "iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'" (assignment_expression "iVar10 = iVar6" identifier = identifier) , (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "'\t'" ' escape_sequence '))) ))) )) ))) )) (goto_statement "goto LAB_000e570c;" goto statement_identifier ;))) }))) (if_statement "if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" if (parenthesized_expression "(iVar10 < iVar9)" ( (binary_expression "iVar10 < iVar9" identifier < identifier) )) (compound_statement "{\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" { (expression_statement "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();" (assignment_expression "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" identifier = (call_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" (parenthesized_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)" ( (pointer_expression "*(code *)PTR___ctype_get_mb_cur_max_0014642c" * (cast_expression "(code *)PTR___ctype_get_mb_cur_max_0014642c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" if (parenthesized_expression "((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0))" ( (binary_expression "(iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)" (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) || (parenthesized_expression "(*(int *)PTR_rl_byte_oriented_00145d7c != 0)" ( (binary_expression "*(int *)PTR_rl_byte_oriented_00145d7c != 0" (pointer_expression "*(int *)PTR_rl_byte_oriented_00145d7c" * (cast_expression "(int *)PTR_rl_byte_oriented_00145d7c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }" { (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4 + 1;" (assignment_expression "iVar6 = *(int *)puVar4 + 1" identifier = (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" else (compound_statement "{\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" { (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);" (assignment_expression "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1)" identifier = (call_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)(1)" (parenthesized_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)" ( (pointer_expression "*(code *)PTR__rl_forward_char_internal_00145d90" * (cast_expression "(code *)PTR__rl_forward_char_internal_00145d90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }" if (parenthesized_expression "((iVar6 == iVar9) || (*(int *)puVar3 < iVar6))" ( (binary_expression "(iVar6 == iVar9) || (*(int *)puVar3 < iVar6)" (parenthesized_expression "(iVar6 == iVar9)" ( (binary_expression "iVar6 == iVar9" identifier == identifier) )) || (parenthesized_expression "(*(int *)puVar3 < iVar6)" ( (binary_expression "*(int *)puVar3 < iVar6" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) ))) )) (compound_statement "{\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }" { (expression_statement "iVar6 = *(int *)puVar3;" (assignment_expression "iVar6 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n            iVar13 = *(int *)puVar5;\n          }" else (compound_statement "{\n            iVar13 = *(int *)puVar5;\n          }" { (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) }))) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000e570c:\n    iVar6 = *(int *)puVar4;" statement_identifier : (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (labeled_statement "LAB_000e54ec:\n    bVar1 = iVar13 < iVar6;" statement_identifier : (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" identifier = (binary_expression "iVar13 < iVar6" identifier < identifier)) ;)) }) (else_clause "else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" else (compound_statement "{\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" { (labeled_statement "LAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;" statement_identifier : (if_statement "if (iVar10 != 99) goto LAB_000e54ec;" if (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;))) (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" identifier = (binary_expression "iVar13 < iVar6" identifier < identifier)) ;) (if_statement "if (iVar13 <= iVar6) goto LAB_000e55c8;" if (parenthesized_expression "(iVar13 <= iVar6)" ( (binary_expression "iVar13 <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_000e55c8;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" { (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (labeled_statement "LAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" statement_identifier : (if_statement "if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" if (parenthesized_expression "(*(int *)PTR_rl_readline_state_00144658 << 0xc < 0)" ( (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc < 0" (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc" (pointer_expression "*(int *)PTR_rl_readline_state_00144658" * (cast_expression "(int *)PTR_rl_readline_state_00144658" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) < number_literal) )) (compound_statement "{\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" { (expression_statement "(**(code **)PTR_rl_redisplay_function_00145bf4)();" (call_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)()" (parenthesized_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)" ( (pointer_expression "**(code **)PTR_rl_redisplay_function_00145bf4" * (pointer_expression "*(code **)PTR_rl_redisplay_function_00145bf4" * (cast_expression "(code **)PTR_rl_redisplay_function_00145bf4" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "uVar7 = FUN_000e29b8(param_2);" (assignment_expression "uVar7 = FUN_000e29b8(param_2)" identifier = (call_expression "FUN_000e29b8(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "int _rl_vi_domove_motion_cleanup(int c,_rl_vimotion_cxt *m)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar8 = m->end;\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar8;\n  *(undefined1 *)(iVar6 + iVar8) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar8 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar8 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar8;\n    iVar6 = iVar8;\n  }\n  iVar12 = *(int *)puVar5;\n  uVar11 = c & 0xff;\n  if (iVar12 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return -1;\n  }\n  if ((uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)) {\n    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;\n  }\n  else {\n    bVar1 = c == 0x57;\n  }\n  iVar9 = m->key;\n  if ((bVar1) && (iVar6 < iVar8)) {\n    if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }\n    if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar12 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar12;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  iVar6 = vidomove_dispatch(m);\n  return iVar6;\n}\n\n" (function_definition "int _rl_vi_domove_motion_cleanup(int c,_rl_vimotion_cxt *m)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar8 = m->end;\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar8;\n  *(undefined1 *)(iVar6 + iVar8) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar8 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar8 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar8;\n    iVar6 = iVar8;\n  }\n  iVar12 = *(int *)puVar5;\n  uVar11 = c & 0xff;\n  if (iVar12 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return -1;\n  }\n  if ((uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)) {\n    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;\n  }\n  else {\n    bVar1 = c == 0x57;\n  }\n  iVar9 = m->key;\n  if ((bVar1) && (iVar6 < iVar8)) {\n    if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }\n    if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar12 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar12;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  iVar6 = vidomove_dispatch(m);\n  return iVar6;\n}" primitive_type (function_declarator "_rl_vi_domove_motion_cleanup(int c,_rl_vimotion_cxt *m)" identifier (parameter_list "(int c,_rl_vimotion_cxt *m)" ( (parameter_declaration "int c" primitive_type identifier) , (parameter_declaration "_rl_vimotion_cxt *m" type_identifier (pointer_declarator "*m" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  int *piVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  uint uVar11;\n  int iVar12;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar8 = m->end;\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar8;\n  *(undefined1 *)(iVar6 + iVar8) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar8 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar8 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar8;\n    iVar6 = iVar8;\n  }\n  iVar12 = *(int *)puVar5;\n  uVar11 = c & 0xff;\n  if (iVar12 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return -1;\n  }\n  if ((uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)) {\n    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;\n  }\n  else {\n    bVar1 = c == 0x57;\n  }\n  iVar9 = m->key;\n  if ((bVar1) && (iVar6 < iVar8)) {\n    if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }\n    if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar12 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar12;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  iVar6 = vidomove_dispatch(m);\n  return iVar6;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int *piVar7;" primitive_type (pointer_declarator "*piVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_rl_point_0014555c;" (assignment_expression "puVar4 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_rl_end_00145558;" (assignment_expression "puVar3 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar2 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar2 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "iVar8 = m->end;" (assignment_expression "iVar8 = m->end" identifier = (field_expression "m->end" identifier -> field_identifier)) ;) (expression_statement "iVar6 = *(int *)PTR_rl_line_buffer_00145548;" (assignment_expression "iVar6 = *(int *)PTR_rl_line_buffer_00145548" identifier = (pointer_expression "*(int *)PTR_rl_line_buffer_00145548" * (cast_expression "(int *)PTR_rl_line_buffer_00145548" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_rl_end_00145558 = iVar8;" (assignment_expression "*(int *)PTR_rl_end_00145558 = iVar8" (pointer_expression "*(int *)PTR_rl_end_00145558" * (cast_expression "(int *)PTR_rl_end_00145558" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar8) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + iVar8) = 0" (pointer_expression "*(undefined1 *)(iVar6 + iVar8)" * (cast_expression "(undefined1 *)(iVar6 + iVar8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar8)" ( (binary_expression "iVar6 + iVar8" identifier + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = PTR_rl_mark_00145640;" (assignment_expression "puVar5 = PTR_rl_mark_00145640" identifier = identifier) ;) (expression_statement "iVar8 = *(int *)puVar3;" (assignment_expression "iVar8 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar8 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar8;\n    iVar6 = iVar8;\n  }" if (parenthesized_expression "(iVar8 < *(int *)puVar4)" ( (binary_expression "iVar8 < *(int *)puVar4" identifier < (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    *(int *)puVar4 = iVar8;\n    iVar6 = iVar8;\n  }" { (expression_statement "*(int *)puVar4 = iVar8;" (assignment_expression "*(int *)puVar4 = iVar8" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar6 = iVar8;" (assignment_expression "iVar6 = iVar8" identifier = identifier) ;) })) (expression_statement "iVar12 = *(int *)puVar5;" (assignment_expression "iVar12 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar11 = c & 0xff;" (assignment_expression "uVar11 = c & 0xff" identifier = (binary_expression "c & 0xff" identifier & number_literal)) ;) (if_statement "if (iVar12 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return -1;\n  }" if (parenthesized_expression "(iVar12 == iVar6)" ( (binary_expression "iVar12 == iVar6" identifier == identifier) )) (compound_statement "{\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return -1;\n  }" { (expression_statement "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;" (assignment_expression "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) (return_statement "return -1;" return number_literal ;) })) (if_statement "if ((uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)) {\n    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;\n  }\n  else {\n    bVar1 = c == 0x57;\n  }" if (parenthesized_expression "((uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0))" ( (binary_expression "(uVar11 == c) &&\n     (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)" (parenthesized_expression "(uVar11 == c)" ( (binary_expression "uVar11 == c" identifier == identifier) )) && (parenthesized_expression "(piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0)" ( (comma_expression "piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar7 + c * 2) & 2) != 0" (assignment_expression "piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar7 + c * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar7 + c * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar7 + c * 2) & 2" (pointer_expression "*(ushort *)(*piVar7 + c * 2)" * (cast_expression "(ushort *)(*piVar7 + c * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + c * 2)" ( (binary_expression "*piVar7 + c * 2" (pointer_expression "*piVar7" * identifier) + (binary_expression "c * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n    bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;\n  }" { (expression_statement "piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();" (assignment_expression "piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR__MIPS_STUBS__00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__MIPS_STUBS__00146580)()" (parenthesized_expression "(*(code *)PTR__MIPS_STUBS__00146580)" ( (pointer_expression "*(code *)PTR__MIPS_STUBS__00146580" * (cast_expression "(code *)PTR__MIPS_STUBS__00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar7 + c * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar7 + c * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar7 + c * 4) == 0x57" (pointer_expression "*(int *)(*piVar7 + c * 4)" * (cast_expression "(int *)(*piVar7 + c * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + c * 4)" ( (binary_expression "*piVar7 + c * 4" (pointer_expression "*piVar7" * identifier) + (binary_expression "c * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n    bVar1 = c == 0x57;\n  }" else (compound_statement "{\n    bVar1 = c == 0x57;\n  }" { (expression_statement "bVar1 = c == 0x57;" (assignment_expression "bVar1 = c == 0x57" identifier = (binary_expression "c == 0x57" identifier == number_literal)) ;) }))) (expression_statement "iVar9 = m->key;" (assignment_expression "iVar9 = m->key" identifier = (field_expression "m->key" identifier -> field_identifier)) ;) (if_statement "if ((bVar1) && (iVar6 < iVar8)) {\n    if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }\n    if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar12 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }" if (parenthesized_expression "((bVar1) && (iVar6 < iVar8))" ( (binary_expression "(bVar1) && (iVar6 < iVar8)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(iVar6 < iVar8)" ( (binary_expression "iVar6 < iVar8" identifier < identifier) ))) )) (compound_statement "{\n    if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }\n    if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar12 < iVar6;\n  }" { (if_statement "if (iVar12 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;" if (parenthesized_expression "(iVar12 < iVar6)" ( (binary_expression "iVar12 < iVar6" identifier < identifier) )) (compound_statement "{\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }" { (if_statement "if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" if (parenthesized_expression "((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != '\t')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" { (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e54e4;" goto statement_identifier ;) })) (if_statement "if (iVar9 != 99) {\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" if (parenthesized_expression "(iVar9 != 99)" ( (binary_expression "iVar9 != 99" identifier != number_literal) )) (compound_statement "{\n        *(int *)puVar4 = iVar12;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" { (expression_statement "*(int *)puVar4 = iVar12;" (assignment_expression "*(int *)puVar4 = iVar12" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;) })) }) (else_clause "else if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;" else (if_statement "if ((iVar9 != 99) || (iVar6 < iVar12)) goto LAB_000e5504;" if (parenthesized_expression "((iVar9 != 99) || (iVar6 < iVar12))" ( (binary_expression "(iVar9 != 99) || (iVar6 < iVar12)" (parenthesized_expression "(iVar9 != 99)" ( (binary_expression "iVar9 != 99" identifier != number_literal) )) || (parenthesized_expression "(iVar6 < iVar12)" ( (binary_expression "iVar6 < iVar12" identifier < identifier) ))) )) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;)))) (labeled_statement "LAB_000e55c8:\n    if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }" statement_identifier : (if_statement "if ((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)) {\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }\n    else {\n      bVar1 = c == 0x57;\n    }" if (parenthesized_expression "((uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0))" ( (binary_expression "(uVar11 == c) &&\n       (piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)" (parenthesized_expression "(uVar11 == c)" ( (binary_expression "uVar11 == c" identifier == identifier) )) && (parenthesized_expression "(piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0)" ( (comma_expression "piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0" (assignment_expression "piVar7 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar7 + uVar11 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar7 + uVar11 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar7 + uVar11 * 2) & 2" (pointer_expression "*(ushort *)(*piVar7 + uVar11 * 2)" * (cast_expression "(ushort *)(*piVar7 + uVar11 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + uVar11 * 2)" ( (binary_expression "*piVar7 + uVar11 * 2" (pointer_expression "*piVar7" * identifier) + (binary_expression "uVar11 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n      piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();\n      bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;\n    }" { (expression_statement "piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)();" (assignment_expression "piVar7 = (int *)(*(code *)PTR__MIPS_STUBS__00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR__MIPS_STUBS__00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR__MIPS_STUBS__00146580)()" (parenthesized_expression "(*(code *)PTR__MIPS_STUBS__00146580)" ( (pointer_expression "*(code *)PTR__MIPS_STUBS__00146580" * (cast_expression "(code *)PTR__MIPS_STUBS__00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar7 + uVar11 * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar7 + uVar11 * 4) == 0x57" (pointer_expression "*(int *)(*piVar7 + uVar11 * 4)" * (cast_expression "(int *)(*piVar7 + uVar11 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar7 + uVar11 * 4)" ( (binary_expression "*piVar7 + uVar11 * 4" (pointer_expression "*piVar7" * identifier) + (binary_expression "uVar11 * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n      bVar1 = c == 0x57;\n    }" else (compound_statement "{\n      bVar1 = c == 0x57;\n    }" { (expression_statement "bVar1 = c == 0x57;" (assignment_expression "bVar1 = c == 0x57" identifier = (binary_expression "c == 0x57" identifier == number_literal)) ;) })))) (if_statement "if (bVar1) {\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      iVar9 = iVar12;\n      if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" { (expression_statement "iVar9 = iVar12;" (assignment_expression "iVar9 = iVar12" identifier = identifier) ;) (if_statement "if (iVar12 < iVar6) {\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" if (parenthesized_expression "(iVar12 < iVar6)" ( (binary_expression "iVar12 < iVar6" identifier < identifier) )) (compound_statement "{\n        iVar10 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);\n      }" { (expression_statement "iVar10 = *(int *)puVar2;" (assignment_expression "iVar10 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar12 != iVar6);" do (compound_statement "{\n          if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        }" { (if_statement "if ((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))\n          goto LAB_000e56c8;" if (parenthesized_expression "((*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(iVar10 + iVar6) != ' ') && (*(char *)(iVar10 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(iVar10 + iVar6) != ' ')" ( (binary_expression "*(char *)(iVar10 + iVar6) != ' '" (pointer_expression "*(char *)(iVar10 + iVar6)" * (cast_expression "(char *)(iVar10 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar6)" ( (binary_expression "iVar10 + iVar6" identifier + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar10 + iVar6) != '\t')" ( (binary_expression "*(char *)(iVar10 + iVar6) != '\t'" (pointer_expression "*(char *)(iVar10 + iVar6)" * (cast_expression "(char *)(iVar10 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar6)" ( (binary_expression "iVar10 + iVar6" identifier + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_000e56c8;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar12 != iVar6)" ( (binary_expression "iVar12 != iVar6" identifier != identifier) )) ;) }) (else_clause "else {\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" else (compound_statement "{\nLAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" { (labeled_statement "LAB_000e56c8:\n        if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" statement_identifier : (if_statement "if ((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" if (parenthesized_expression "((iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))))" ( (binary_expression "(iVar12 != iVar6) &&\n           ((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" (parenthesized_expression "(iVar12 != iVar6)" ( (binary_expression "iVar12 != iVar6" identifier != identifier) )) && (parenthesized_expression "((((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" ( (parenthesized_expression "(((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))" ( (binary_expression "((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" (parenthesized_expression "((iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' '))" ( (binary_expression "(iVar6 < 0 || (iVar8 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')" (parenthesized_expression "(iVar6 < 0 || (iVar8 + -1 <= iVar6))" ( (binary_expression "iVar6 < 0 || (iVar8 + -1 <= iVar6)" (binary_expression "iVar6 < 0" identifier < number_literal) || (parenthesized_expression "(iVar8 + -1 <= iVar6)" ( (binary_expression "iVar8 + -1 <= iVar6" (binary_expression "iVar8 + -1" identifier + number_literal) <= identifier) ))) )) || (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) == ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "(iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" ( (comma_expression "iVar9 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'" (assignment_expression "iVar9 = iVar6" identifier = identifier) , (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "'\t'" ' escape_sequence '))) ))) )) ))) )) (goto_statement "goto LAB_000e570c;" goto statement_identifier ;))) }))) (if_statement "if (iVar9 < iVar8) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" if (parenthesized_expression "(iVar9 < iVar8)" ( (binary_expression "iVar9 < iVar8" identifier < identifier) )) (compound_statement "{\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" { (expression_statement "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();" (assignment_expression "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" identifier = (call_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" (parenthesized_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)" ( (pointer_expression "*(code *)PTR___ctype_get_mb_cur_max_0014642c" * (cast_expression "(code *)PTR___ctype_get_mb_cur_max_0014642c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }" if (parenthesized_expression "((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0))" ( (binary_expression "(iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)" (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) || (parenthesized_expression "(*(int *)PTR_rl_byte_oriented_00145d7c != 0)" ( (binary_expression "*(int *)PTR_rl_byte_oriented_00145d7c != 0" (pointer_expression "*(int *)PTR_rl_byte_oriented_00145d7c" * (cast_expression "(int *)PTR_rl_byte_oriented_00145d7c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n          iVar12 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }" { (expression_statement "iVar12 = *(int *)puVar5;" (assignment_expression "iVar12 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4 + 1;" (assignment_expression "iVar6 = *(int *)puVar4 + 1" identifier = (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }" else (compound_statement "{\n          iVar8 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }\n        }" { (expression_statement "iVar8 = *(int *)puVar4;" (assignment_expression "iVar8 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);" (assignment_expression "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1)" identifier = (call_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)(1)" (parenthesized_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)" ( (pointer_expression "*(code *)PTR__rl_forward_char_internal_00145d90" * (cast_expression "(code *)PTR__rl_forward_char_internal_00145d90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((iVar6 == iVar8) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar12 = *(int *)puVar5;\n          }" if (parenthesized_expression "((iVar6 == iVar8) || (*(int *)puVar3 < iVar6))" ( (binary_expression "(iVar6 == iVar8) || (*(int *)puVar3 < iVar6)" (parenthesized_expression "(iVar6 == iVar8)" ( (binary_expression "iVar6 == iVar8" identifier == identifier) )) || (parenthesized_expression "(*(int *)puVar3 < iVar6)" ( (binary_expression "*(int *)puVar3 < iVar6" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) ))) )) (compound_statement "{\n            iVar6 = *(int *)puVar3;\n            iVar12 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }" { (expression_statement "iVar6 = *(int *)puVar3;" (assignment_expression "iVar6 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar12 = *(int *)puVar5;" (assignment_expression "iVar12 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n            iVar12 = *(int *)puVar5;\n          }" else (compound_statement "{\n            iVar12 = *(int *)puVar5;\n          }" { (expression_statement "iVar12 = *(int *)puVar5;" (assignment_expression "iVar12 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) }))) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000e570c:\n    iVar6 = *(int *)puVar4;" statement_identifier : (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (labeled_statement "LAB_000e54ec:\n    bVar1 = iVar12 < iVar6;" statement_identifier : (expression_statement "bVar1 = iVar12 < iVar6;" (assignment_expression "bVar1 = iVar12 < iVar6" identifier = (binary_expression "iVar12 < iVar6" identifier < identifier)) ;)) }) (else_clause "else {\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }" else (compound_statement "{\nLAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;\n    bVar1 = iVar12 < iVar6;\n    if (iVar12 <= iVar6) goto LAB_000e55c8;\n  }" { (labeled_statement "LAB_000e54e4:\n    if (iVar9 != 99) goto LAB_000e54ec;" statement_identifier : (if_statement "if (iVar9 != 99) goto LAB_000e54ec;" if (parenthesized_expression "(iVar9 != 99)" ( (binary_expression "iVar9 != 99" identifier != number_literal) )) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;))) (expression_statement "bVar1 = iVar12 < iVar6;" (assignment_expression "bVar1 = iVar12 < iVar6" identifier = (binary_expression "iVar12 < iVar6" identifier < identifier)) ;) (if_statement "if (iVar12 <= iVar6) goto LAB_000e55c8;" if (parenthesized_expression "(iVar12 <= iVar6)" ( (binary_expression "iVar12 <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_000e55c8;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n    *(int *)puVar4 = iVar12;\n    *(int *)puVar5 = iVar6;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)puVar4 = iVar12;\n    *(int *)puVar5 = iVar6;\n  }" { (expression_statement "*(int *)puVar4 = iVar12;" (assignment_expression "*(int *)puVar4 = iVar12" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (labeled_statement "LAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" statement_identifier : (if_statement "if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" if (parenthesized_expression "(*(int *)PTR_rl_readline_state_00144658 << 0xc < 0)" ( (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc < 0" (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc" (pointer_expression "*(int *)PTR_rl_readline_state_00144658" * (cast_expression "(int *)PTR_rl_readline_state_00144658" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) < number_literal) )) (compound_statement "{\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" { (expression_statement "(**(code **)PTR_rl_redisplay_function_00145bf4)();" (call_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)()" (parenthesized_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)" ( (pointer_expression "**(code **)PTR_rl_redisplay_function_00145bf4" * (pointer_expression "*(code **)PTR_rl_redisplay_function_00145bf4" * (cast_expression "(code **)PTR_rl_redisplay_function_00145bf4" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "iVar6 = vidomove_dispatch(m);" (assignment_expression "iVar6 = vidomove_dispatch(m)" identifier = (call_expression "vidomove_dispatch(m)" identifier (argument_list "(m)" ( identifier )))) ;) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit "undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}\n\n" (function_definition "undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" type_identifier (function_declarator "_rl_vi_domove_motion_cleanup(uint param_1,int param_2)" identifier (parameter_list "(uint param_1,int param_2)" ( (parameter_declaration "uint param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (expression_statement "puVar4 = PTR_rl_point_0014555c;" (assignment_expression "puVar4 = PTR_rl_point_0014555c" identifier = identifier) ;) (expression_statement "puVar3 = PTR_rl_end_00145558;" (assignment_expression "puVar3 = PTR_rl_end_00145558" identifier = identifier) ;) (expression_statement "puVar2 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar2 = PTR_rl_line_buffer_00145548" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" identifier = (pointer_expression "*(int *)(param_2 + 0x18)" * (cast_expression "(int *)(param_2 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x18)" ( (binary_expression "param_2 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = *(int *)PTR_rl_line_buffer_00145548;" (assignment_expression "iVar6 = *(int *)PTR_rl_line_buffer_00145548" identifier = (pointer_expression "*(int *)PTR_rl_line_buffer_00145548" * (cast_expression "(int *)PTR_rl_line_buffer_00145548" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_rl_end_00145558 = iVar9;" (assignment_expression "*(int *)PTR_rl_end_00145558 = iVar9" (pointer_expression "*(int *)PTR_rl_end_00145558" * (cast_expression "(int *)PTR_rl_end_00145558" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar9) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + iVar9) = 0" (pointer_expression "*(undefined1 *)(iVar6 + iVar9)" * (cast_expression "(undefined1 *)(iVar6 + iVar9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar9)" ( (binary_expression "iVar6 + iVar9" identifier + identifier) )))) = number_literal) ;) (expression_statement "puVar5 = PTR_rl_mark_00145640;" (assignment_expression "puVar5 = PTR_rl_mark_00145640" identifier = identifier) ;) (expression_statement "iVar9 = *(int *)puVar3;" (assignment_expression "iVar9 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" if (parenthesized_expression "(iVar9 < *(int *)puVar4)" ( (binary_expression "iVar9 < *(int *)puVar4" identifier < (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" { (expression_statement "*(int *)puVar4 = iVar9;" (assignment_expression "*(int *)puVar4 = iVar9" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar6 = iVar9;" (assignment_expression "iVar6 = iVar9" identifier = identifier) ;) })) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar12 = param_1 & 0xff;" (assignment_expression "uVar12 = param_1 & 0xff" identifier = (binary_expression "param_1 & 0xff" identifier & number_literal)) ;) (if_statement "if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" if (parenthesized_expression "(iVar13 == iVar6)" ( (binary_expression "iVar13 == iVar6" identifier == identifier) )) (compound_statement "{\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" { (expression_statement "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;" (assignment_expression "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" * (cast_expression "(uint *)PTR_rl_readline_state_00144658" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) & number_literal)) ;) (return_statement "return 0xffffffff;" return number_literal ;) })) (if_statement "if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }" if (parenthesized_expression "((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0))" ( (binary_expression "(uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" ( (binary_expression "uVar12 == param_1" identifier == identifier) )) && (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" ( (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar8 + param_1 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + param_1 * 2)" * (cast_expression "(ushort *)(*piVar8 + param_1 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + param_1 * 2)" ( (binary_expression "*piVar8 + param_1 * 2" (pointer_expression "*piVar8" * identifier) + (binary_expression "param_1 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }" { (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" ( (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" * (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar8 + param_1 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + param_1 * 4)" * (cast_expression "(int *)(*piVar8 + param_1 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + param_1 * 4)" ( (binary_expression "*piVar8 + param_1 * 4" (pointer_expression "*piVar8" * identifier) + (binary_expression "param_1 * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n    bVar1 = param_1 == 0x57;\n  }" else (compound_statement "{\n    bVar1 = param_1 == 0x57;\n  }" { (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" identifier = (binary_expression "param_1 == 0x57" identifier == number_literal)) ;) }))) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" identifier = (pointer_expression "*(int *)(param_2 + 0x1c)" * (cast_expression "(int *)(param_2 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x1c)" ( (binary_expression "param_2 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" if (parenthesized_expression "((bVar1) && (iVar6 < iVar9))" ( (binary_expression "(bVar1) && (iVar6 < iVar9)" (parenthesized_expression "(bVar1)" ( identifier )) && (parenthesized_expression "(iVar6 < iVar9)" ( (binary_expression "iVar6 < iVar9" identifier < identifier) ))) )) (compound_statement "{\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }" { (if_statement "if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" if (parenthesized_expression "(iVar13 < iVar6)" ( (binary_expression "iVar13 < iVar6" identifier < identifier) )) (compound_statement "{\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }" { (if_statement "if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" if (parenthesized_expression "((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != '\t')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" { (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e54e4;" goto statement_identifier ;) })) (if_statement "if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" if (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) (compound_statement "{\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" { (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;) })) }) (else_clause "else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" else (if_statement "if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" if (parenthesized_expression "((iVar10 != 99) || (iVar6 < iVar13))" ( (binary_expression "(iVar10 != 99) || (iVar6 < iVar13)" (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) || (parenthesized_expression "(iVar6 < iVar13)" ( (binary_expression "iVar6 < iVar13" identifier < identifier) ))) )) (goto_statement "goto LAB_000e5504;" goto statement_identifier ;)))) (labeled_statement "LAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" statement_identifier : (if_statement "if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" if (parenthesized_expression "((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0))" ( (binary_expression "(uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" ( (binary_expression "uVar12 == param_1" identifier == identifier) )) && (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" ( (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" ( (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" * (cast_expression "(code *)PTR___ctype_b_loc_001461fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar8 + uVar12 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + uVar12 * 2)" * (cast_expression "(ushort *)(*piVar8 + uVar12 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + uVar12 * 2)" ( (binary_expression "*piVar8 + uVar12 * 2" (pointer_expression "*piVar8" * identifier) + (binary_expression "uVar12 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }" { (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" identifier = (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" ( (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" * (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57" identifier = (binary_expression "*(int *)(*piVar8 + uVar12 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + uVar12 * 4)" * (cast_expression "(int *)(*piVar8 + uVar12 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + uVar12 * 4)" ( (binary_expression "*piVar8 + uVar12 * 4" (pointer_expression "*piVar8" * identifier) + (binary_expression "uVar12 * 4" identifier * number_literal)) )))) == number_literal)) ;) }) (else_clause "else {\n      bVar1 = param_1 == 0x57;\n    }" else (compound_statement "{\n      bVar1 = param_1 == 0x57;\n    }" { (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" identifier = (binary_expression "param_1 == 0x57" identifier == number_literal)) ;) })))) (if_statement "if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" { (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" identifier = identifier) ;) (if_statement "if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" if (parenthesized_expression "(iVar13 < iVar6)" ( (binary_expression "iVar13 < iVar6" identifier < identifier) )) (compound_statement "{\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }" { (expression_statement "iVar11 = *(int *)puVar2;" (assignment_expression "iVar11 = *(int *)puVar2" identifier = (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);" do (compound_statement "{\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        }" { (if_statement "if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;" if (parenthesized_expression "((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))" ( (binary_expression "(*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(iVar11 + iVar6) != ' ')" ( (binary_expression "*(char *)(iVar11 + iVar6) != ' '" (pointer_expression "*(char *)(iVar11 + iVar6)" * (cast_expression "(char *)(iVar11 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6)" ( (binary_expression "iVar11 + iVar6" identifier + identifier) )))) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*(char *)(iVar11 + iVar6) != '\t')" ( (binary_expression "*(char *)(iVar11 + iVar6) != '\t'" (pointer_expression "*(char *)(iVar11 + iVar6)" * (cast_expression "(char *)(iVar11 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + iVar6)" ( (binary_expression "iVar11 + iVar6" identifier + identifier) )))) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_000e56c8;" goto statement_identifier ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) while (parenthesized_expression "(iVar13 != iVar6)" ( (binary_expression "iVar13 != iVar6" identifier != identifier) )) ;) }) (else_clause "else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" else (compound_statement "{\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" { (labeled_statement "LAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" statement_identifier : (if_statement "if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" if (parenthesized_expression "((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))))" ( (binary_expression "(iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" (parenthesized_expression "(iVar13 != iVar6)" ( (binary_expression "iVar13 != iVar6" identifier != identifier) )) && (parenthesized_expression "((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" ( (parenthesized_expression "(((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))" ( (binary_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" (parenthesized_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' '))" ( (binary_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')" (parenthesized_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6))" ( (binary_expression "iVar6 < 0 || (iVar9 + -1 <= iVar6)" (binary_expression "iVar6 < 0" identifier < number_literal) || (parenthesized_expression "(iVar9 + -1 <= iVar6)" ( (binary_expression "iVar9 + -1 <= iVar6" (binary_expression "iVar9 + -1" identifier + number_literal) <= identifier) ))) )) || (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) == ' ')" ( (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "(iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" ( (comma_expression "iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'" (assignment_expression "iVar10 = iVar6" identifier = identifier) , (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" * (cast_expression "(char *)(*(int *)puVar2 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)puVar2 + iVar6)" ( (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) == (char_literal "'\t'" ' escape_sequence '))) ))) )) ))) )) (goto_statement "goto LAB_000e570c;" goto statement_identifier ;))) }))) (if_statement "if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" if (parenthesized_expression "(iVar10 < iVar9)" ( (binary_expression "iVar10 < iVar9" identifier < identifier) )) (compound_statement "{\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" { (expression_statement "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();" (assignment_expression "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" identifier = (call_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" (parenthesized_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)" ( (pointer_expression "*(code *)PTR___ctype_get_mb_cur_max_0014642c" * (cast_expression "(code *)PTR___ctype_get_mb_cur_max_0014642c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" if (parenthesized_expression "((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0))" ( (binary_expression "(iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)" (parenthesized_expression "(iVar6 == 1)" ( (binary_expression "iVar6 == 1" identifier == number_literal) )) || (parenthesized_expression "(*(int *)PTR_rl_byte_oriented_00145d7c != 0)" ( (binary_expression "*(int *)PTR_rl_byte_oriented_00145d7c != 0" (pointer_expression "*(int *)PTR_rl_byte_oriented_00145d7c" * (cast_expression "(int *)PTR_rl_byte_oriented_00145d7c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }" { (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = *(int *)puVar4 + 1;" (assignment_expression "iVar6 = *(int *)puVar4 + 1" identifier = (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" else (compound_statement "{\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" { (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);" (assignment_expression "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1)" identifier = (call_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)(1)" (parenthesized_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)" ( (pointer_expression "*(code *)PTR__rl_forward_char_internal_00145d90" * (cast_expression "(code *)PTR__rl_forward_char_internal_00145d90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal )))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }" if (parenthesized_expression "((iVar6 == iVar9) || (*(int *)puVar3 < iVar6))" ( (binary_expression "(iVar6 == iVar9) || (*(int *)puVar3 < iVar6)" (parenthesized_expression "(iVar6 == iVar9)" ( (binary_expression "iVar6 == iVar9" identifier == identifier) )) || (parenthesized_expression "(*(int *)puVar3 < iVar6)" ( (binary_expression "*(int *)puVar3 < iVar6" (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) ))) )) (compound_statement "{\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }" { (expression_statement "iVar6 = *(int *)puVar3;" (assignment_expression "iVar6 = *(int *)puVar3" identifier = (pointer_expression "*(int *)puVar3" * (cast_expression "(int *)puVar3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }) (else_clause "else {\n            iVar13 = *(int *)puVar5;\n          }" else (compound_statement "{\n            iVar13 = *(int *)puVar5;\n          }" { (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" identifier = (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) }))) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;) })) })) (labeled_statement "LAB_000e570c:\n    iVar6 = *(int *)puVar4;" statement_identifier : (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" identifier = (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (labeled_statement "LAB_000e54ec:\n    bVar1 = iVar13 < iVar6;" statement_identifier : (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" identifier = (binary_expression "iVar13 < iVar6" identifier < identifier)) ;)) }) (else_clause "else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" else (compound_statement "{\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" { (labeled_statement "LAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;" statement_identifier : (if_statement "if (iVar10 != 99) goto LAB_000e54ec;" if (parenthesized_expression "(iVar10 != 99)" ( (binary_expression "iVar10 != 99" identifier != number_literal) )) (goto_statement "goto LAB_000e54ec;" goto statement_identifier ;))) (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" identifier = (binary_expression "iVar13 < iVar6" identifier < identifier)) ;) (if_statement "if (iVar13 <= iVar6) goto LAB_000e55c8;" if (parenthesized_expression "(iVar13 <= iVar6)" ( (binary_expression "iVar13 <= iVar6" identifier <= identifier) )) (goto_statement "goto LAB_000e55c8;" goto statement_identifier ;)) }))) (if_statement "if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" { (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) })) (labeled_statement "LAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" statement_identifier : (if_statement "if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" if (parenthesized_expression "(*(int *)PTR_rl_readline_state_00144658 << 0xc < 0)" ( (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc < 0" (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc" (pointer_expression "*(int *)PTR_rl_readline_state_00144658" * (cast_expression "(int *)PTR_rl_readline_state_00144658" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) << number_literal) < number_literal) )) (compound_statement "{\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" { (expression_statement "(**(code **)PTR_rl_redisplay_function_00145bf4)();" (call_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)()" (parenthesized_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)" ( (pointer_expression "**(code **)PTR_rl_redisplay_function_00145bf4" * (pointer_expression "*(code **)PTR_rl_redisplay_function_00145bf4" * (cast_expression "(code **)PTR_rl_redisplay_function_00145bf4" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "()" ( ))) ;) }))) (expression_statement "uVar7 = FUN_000e29b8(param_2);" (assignment_expression "uVar7 = FUN_000e29b8(param_2)" identifier = (call_expression "FUN_000e29b8(param_2)" identifier (argument_list "(param_2)" ( identifier )))) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE 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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT)) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) )))) == LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))) != (char_literal ' character ')) )) && (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)) + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (goto_statement goto statement_identifier ;)))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression IDENT * LIT)) )))) == LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) })))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT < LIT) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) <= IDENT) ))) )) || (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)) + IDENT) )))) == (char_literal ' character ')) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (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)) + IDENT) )))) == (char_literal ' escape_sequence '))) ))) )) ))) )) (goto_statement goto statement_identifier ;))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 (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) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) ))) )) (compound_statement { (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 *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) }))) (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))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT < IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) << LIT) < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 _rl_vi_domove_motion_cleanup(uint param_1,int param_2)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" (type_identifier "undefined4") (function_declarator "_rl_vi_domove_motion_cleanup(uint param_1,int param_2)" (identifier "_rl_vi_domove_motion_cleanup") (parameter_list "(uint param_1,int param_2)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  undefined4 uVar7;\n  int *piVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  int iVar13;\n  \n  puVar4 = PTR_rl_point_0014555c;\n  puVar3 = PTR_rl_end_00145558;\n  puVar2 = PTR_rl_line_buffer_00145548;\n  iVar9 = *(int *)(param_2 + 0x18);\n  iVar6 = *(int *)PTR_rl_line_buffer_00145548;\n  *(int *)PTR_rl_end_00145558 = iVar9;\n  *(undefined1 *)(iVar6 + iVar9) = 0;\n  puVar5 = PTR_rl_mark_00145640;\n  iVar9 = *(int *)puVar3;\n  iVar6 = *(int *)puVar4;\n  if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }\n  iVar13 = *(int *)puVar5;\n  uVar12 = param_1 & 0xff;\n  if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }\n  if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }\n  iVar10 = *(int *)(param_2 + 0x1c);\n  if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }\n  if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }\nLAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }\n  uVar7 = FUN_000e29b8(param_2);\n  return uVar7;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (expression_statement "puVar4 = PTR_rl_point_0014555c;" (assignment_expression "puVar4 = PTR_rl_point_0014555c" (identifier "puVar4") (= "=") (identifier "PTR_rl_point_0014555c")) (; ";")) (expression_statement "puVar3 = PTR_rl_end_00145558;" (assignment_expression "puVar3 = PTR_rl_end_00145558" (identifier "puVar3") (= "=") (identifier "PTR_rl_end_00145558")) (; ";")) (expression_statement "puVar2 = PTR_rl_line_buffer_00145548;" (assignment_expression "puVar2 = PTR_rl_line_buffer_00145548" (identifier "puVar2") (= "=") (identifier "PTR_rl_line_buffer_00145548")) (; ";")) (expression_statement "iVar9 = *(int *)(param_2 + 0x18);" (assignment_expression "iVar9 = *(int *)(param_2 + 0x18)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(param_2 + 0x18)" (* "*") (cast_expression "(int *)(param_2 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x18)" (( "(") (binary_expression "param_2 + 0x18" (identifier "param_2") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "iVar6 = *(int *)PTR_rl_line_buffer_00145548;" (assignment_expression "iVar6 = *(int *)PTR_rl_line_buffer_00145548" (identifier "iVar6") (= "=") (pointer_expression "*(int *)PTR_rl_line_buffer_00145548" (* "*") (cast_expression "(int *)PTR_rl_line_buffer_00145548" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_line_buffer_00145548")))) (; ";")) (expression_statement "*(int *)PTR_rl_end_00145558 = iVar9;" (assignment_expression "*(int *)PTR_rl_end_00145558 = iVar9" (pointer_expression "*(int *)PTR_rl_end_00145558" (* "*") (cast_expression "(int *)PTR_rl_end_00145558" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_end_00145558"))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "*(undefined1 *)(iVar6 + iVar9) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + iVar9) = 0" (pointer_expression "*(undefined1 *)(iVar6 + iVar9)" (* "*") (cast_expression "(undefined1 *)(iVar6 + iVar9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + iVar9)" (( "(") (binary_expression "iVar6 + iVar9" (identifier "iVar6") (+ "+") (identifier "iVar9")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar5 = PTR_rl_mark_00145640;" (assignment_expression "puVar5 = PTR_rl_mark_00145640" (identifier "puVar5") (= "=") (identifier "PTR_rl_mark_00145640")) (; ";")) (expression_statement "iVar9 = *(int *)puVar3;" (assignment_expression "iVar9 = *(int *)puVar3" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) (; ";")) (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (if_statement "if (iVar9 < *(int *)puVar4) {\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" (if "if") (parenthesized_expression "(iVar9 < *(int *)puVar4)" (( "(") (binary_expression "iVar9 < *(int *)puVar4" (identifier "iVar9") (< "<") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) () ")")) (compound_statement "{\n    *(int *)puVar4 = iVar9;\n    iVar6 = iVar9;\n  }" ({ "{") (expression_statement "*(int *)puVar4 = iVar9;" (assignment_expression "*(int *)puVar4 = iVar9" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar9")) (; ";")) (expression_statement "iVar6 = iVar9;" (assignment_expression "iVar6 = iVar9" (identifier "iVar6") (= "=") (identifier "iVar9")) (; ";")) (} "}"))) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" (identifier "iVar13") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "uVar12 = param_1 & 0xff;" (assignment_expression "uVar12 = param_1 & 0xff" (identifier "uVar12") (= "=") (binary_expression "param_1 & 0xff" (identifier "param_1") (& "&") (number_literal "0xff"))) (; ";")) (if_statement "if (iVar13 == iVar6) {\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" (if "if") (parenthesized_expression "(iVar13 == iVar6)" (( "(") (binary_expression "iVar13 == iVar6" (identifier "iVar13") (== "==") (identifier "iVar6")) () ")")) (compound_statement "{\n    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;\n    return 0xffffffff;\n  }" ({ "{") (expression_statement "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;" (assignment_expression "*(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" (* "*") (cast_expression "(uint *)PTR_rl_readline_state_00144658" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_readline_state_00144658"))) (= "=") (binary_expression "*(uint *)PTR_rl_readline_state_00144658 & 0xffefffff" (pointer_expression "*(uint *)PTR_rl_readline_state_00144658" (* "*") (cast_expression "(uint *)PTR_rl_readline_state_00144658" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_readline_state_00144658"))) (& "&") (number_literal "0xffefffff"))) (; ";")) (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (if_statement "if ((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }\n  else {\n    bVar1 = param_1 == 0x57;\n  }" (if "if") (parenthesized_expression "((uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0))" (( "(") (binary_expression "(uVar12 == param_1) &&\n     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" (( "(") (binary_expression "uVar12 == param_1" (identifier "uVar12") (== "==") (identifier "param_1")) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)" (( "(") (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" (( "(") (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" (* "*") (cast_expression "(code *)PTR___ctype_b_loc_001461fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_b_loc_001461fc"))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + param_1 * 2) & 2)" (( "(") (binary_expression "*(ushort *)(*piVar8 + param_1 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + param_1 * 2)" (* "*") (cast_expression "(ushort *)(*piVar8 + param_1 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + param_1 * 2)" (( "(") (binary_expression "*piVar8 + param_1 * 2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (binary_expression "param_1 * 2" (identifier "param_1") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;\n  }" ({ "{") (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" (( "(") (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" (* "*") (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_toupper_loc_00146580"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57" (identifier "bVar1") (= "=") (binary_expression "*(int *)(*piVar8 + param_1 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + param_1 * 4)" (* "*") (cast_expression "(int *)(*piVar8 + param_1 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + param_1 * 4)" (( "(") (binary_expression "*piVar8 + param_1 * 4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (binary_expression "param_1 * 4" (identifier "param_1") (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "0x57"))) (; ";")) (} "}")) (else_clause "else {\n    bVar1 = param_1 == 0x57;\n  }" (else "else") (compound_statement "{\n    bVar1 = param_1 == 0x57;\n  }" ({ "{") (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" (identifier "bVar1") (= "=") (binary_expression "param_1 == 0x57" (identifier "param_1") (== "==") (number_literal "0x57"))) (; ";")) (} "}")))) (expression_statement "iVar10 = *(int *)(param_2 + 0x1c);" (assignment_expression "iVar10 = *(int *)(param_2 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_2 + 0x1c)" (* "*") (cast_expression "(int *)(param_2 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x1c)" (( "(") (binary_expression "param_2 + 0x1c" (identifier "param_2") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if ((bVar1) && (iVar6 < iVar9)) {\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }\n  else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" (if "if") (parenthesized_expression "((bVar1) && (iVar6 < iVar9))" (( "(") (binary_expression "(bVar1) && (iVar6 < iVar9)" (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (&& "&&") (parenthesized_expression "(iVar6 < iVar9)" (( "(") (binary_expression "iVar6 < iVar9" (identifier "iVar6") (< "<") (identifier "iVar9")) () ")"))) () ")")) (compound_statement "{\n    if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;\nLAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }\n    if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }\nLAB_000e570c:\n    iVar6 = *(int *)puVar4;\nLAB_000e54ec:\n    bVar1 = iVar13 < iVar6;\n  }" ({ "{") (if_statement "if (iVar13 < iVar6) {\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }\n    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" (if "if") (parenthesized_expression "(iVar13 < iVar6)" (( "(") (binary_expression "iVar13 < iVar6" (identifier "iVar13") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }\n      if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }\n    }" ({ "{") (if_statement "if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))\n      {\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" (if "if") (parenthesized_expression "((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))" (( "(") (binary_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != ' ')" (( "(") (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" (* "*") (cast_expression "(char *)(*(int *)puVar2 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar2 + iVar6)" (( "(") (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (identifier "iVar6")) () ")")))) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) != '\t')" (( "(") (binary_expression "*(char *)(*(int *)puVar2 + iVar6) != '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" (* "*") (cast_expression "(char *)(*(int *)puVar2 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar2 + iVar6)" (( "(") (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (identifier "iVar6")) () ")")))) (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (compound_statement "{\n        iVar6 = iVar6 + -1;\n        *(int *)puVar4 = iVar6;\n        goto LAB_000e54e4;\n      }" ({ "{") (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_000e54e4;" (goto "goto") (statement_identifier "LAB_000e54e4") (; ";")) (} "}"))) (if_statement "if (iVar10 != 99) {\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" (if "if") (parenthesized_expression "(iVar10 != 99)" (( "(") (binary_expression "iVar10 != 99" (identifier "iVar10") (!= "!=") (number_literal "99")) () ")")) (compound_statement "{\n        *(int *)puVar4 = iVar13;\n        *(int *)puVar5 = iVar6;\n        goto LAB_000e5504;\n      }" ({ "{") (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (= "=") (identifier "iVar6")) (; ";")) (goto_statement "goto LAB_000e5504;" (goto "goto") (statement_identifier "LAB_000e5504") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" (else "else") (if_statement "if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;" (if "if") (parenthesized_expression "((iVar10 != 99) || (iVar6 < iVar13))" (( "(") (binary_expression "(iVar10 != 99) || (iVar6 < iVar13)" (parenthesized_expression "(iVar10 != 99)" (( "(") (binary_expression "iVar10 != 99" (identifier "iVar10") (!= "!=") (number_literal "99")) () ")")) (|| "||") (parenthesized_expression "(iVar6 < iVar13)" (( "(") (binary_expression "iVar6 < iVar13" (identifier "iVar6") (< "<") (identifier "iVar13")) () ")"))) () ")")) (goto_statement "goto LAB_000e5504;" (goto "goto") (statement_identifier "LAB_000e5504") (; ";"))))) (labeled_statement "LAB_000e55c8:\n    if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" (statement_identifier "LAB_000e55c8") (: ":") (if_statement "if ((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }\n    else {\n      bVar1 = param_1 == 0x57;\n    }" (if "if") (parenthesized_expression "((uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0))" (( "(") (binary_expression "(uVar12 == param_1) &&\n       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" (parenthesized_expression "(uVar12 == param_1)" (( "(") (binary_expression "uVar12 == param_1" (identifier "uVar12") (== "==") (identifier "param_1")) () ")")) (&& "&&") (parenthesized_expression "(piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)" (( "(") (comma_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),\n       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)()" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_b_loc_001461fc)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_b_loc_001461fc)()" (parenthesized_expression "(*(code *)PTR___ctype_b_loc_001461fc)" (( "(") (pointer_expression "*(code *)PTR___ctype_b_loc_001461fc" (* "*") (cast_expression "(code *)PTR___ctype_b_loc_001461fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_b_loc_001461fc"))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar8 + uVar12 * 2) & 2)" (( "(") (binary_expression "*(ushort *)(*piVar8 + uVar12 * 2) & 2" (pointer_expression "*(ushort *)(*piVar8 + uVar12 * 2)" (* "*") (cast_expression "(ushort *)(*piVar8 + uVar12 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + uVar12 * 2)" (( "(") (binary_expression "*piVar8 + uVar12 * 2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (binary_expression "uVar12 * 2" (identifier "uVar12") (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();\n      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;\n    }" ({ "{") (expression_statement "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();" (assignment_expression "piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" (identifier "piVar8") (= "=") (cast_expression "(int *)(*(code *)PTR___ctype_toupper_loc_00146580)()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___ctype_toupper_loc_00146580)()" (parenthesized_expression "(*(code *)PTR___ctype_toupper_loc_00146580)" (( "(") (pointer_expression "*(code *)PTR___ctype_toupper_loc_00146580" (* "*") (cast_expression "(code *)PTR___ctype_toupper_loc_00146580" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_toupper_loc_00146580"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;" (assignment_expression "bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57" (identifier "bVar1") (= "=") (binary_expression "*(int *)(*piVar8 + uVar12 * 4) == 0x57" (pointer_expression "*(int *)(*piVar8 + uVar12 * 4)" (* "*") (cast_expression "(int *)(*piVar8 + uVar12 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + uVar12 * 4)" (( "(") (binary_expression "*piVar8 + uVar12 * 4" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (binary_expression "uVar12 * 4" (identifier "uVar12") (* "*") (number_literal "4"))) () ")")))) (== "==") (number_literal "0x57"))) (; ";")) (} "}")) (else_clause "else {\n      bVar1 = param_1 == 0x57;\n    }" (else "else") (compound_statement "{\n      bVar1 = param_1 == 0x57;\n    }" ({ "{") (expression_statement "bVar1 = param_1 == 0x57;" (assignment_expression "bVar1 = param_1 == 0x57" (identifier "bVar1") (= "=") (binary_expression "param_1 == 0x57" (identifier "param_1") (== "==") (number_literal "0x57"))) (; ";")) (} "}"))))) (if_statement "if (bVar1) {\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n      iVar10 = iVar13;\n      if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }\n      if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }\n    }" ({ "{") (expression_statement "iVar10 = iVar13;" (assignment_expression "iVar10 = iVar13" (identifier "iVar10") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (iVar13 < iVar6) {\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }\n      else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" (if "if") (parenthesized_expression "(iVar13 < iVar6)" (( "(") (binary_expression "iVar13 < iVar6" (identifier "iVar13") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n        iVar11 = *(int *)puVar2;\n        do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);\n      }" ({ "{") (expression_statement "iVar11 = *(int *)puVar2;" (assignment_expression "iVar11 = *(int *)puVar2" (identifier "iVar11") (= "=") (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2")))) (; ";")) (do_statement "do {\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        } while (iVar13 != iVar6);" (do "do") (compound_statement "{\n          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;\n          iVar6 = iVar6 + -1;\n          *(int *)puVar4 = iVar6;\n        }" ({ "{") (if_statement "if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))\n          goto LAB_000e56c8;" (if "if") (parenthesized_expression "((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))" (( "(") (binary_expression "(*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t')" (parenthesized_expression "(*(char *)(iVar11 + iVar6) != ' ')" (( "(") (binary_expression "*(char *)(iVar11 + iVar6) != ' '" (pointer_expression "*(char *)(iVar11 + iVar6)" (* "*") (cast_expression "(char *)(iVar11 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar6)" (( "(") (binary_expression "iVar11 + iVar6" (identifier "iVar11") (+ "+") (identifier "iVar6")) () ")")))) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar11 + iVar6) != '\t')" (( "(") (binary_expression "*(char *)(iVar11 + iVar6) != '\t'" (pointer_expression "*(char *)(iVar11 + iVar6)" (* "*") (cast_expression "(char *)(iVar11 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + iVar6)" (( "(") (binary_expression "iVar11 + iVar6" (identifier "iVar11") (+ "+") (identifier "iVar6")) () ")")))) (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_000e56c8;" (goto "goto") (statement_identifier "LAB_000e56c8") (; ";"))) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar6")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar13 != iVar6)" (( "(") (binary_expression "iVar13 != iVar6" (identifier "iVar13") (!= "!=") (identifier "iVar6")) () ")")) (; ";")) (} "}")) (else_clause "else {\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" (else "else") (compound_statement "{\nLAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;\n      }" ({ "{") (labeled_statement "LAB_000e56c8:\n        if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" (statement_identifier "LAB_000e56c8") (: ":") (if_statement "if ((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;" (if "if") (parenthesized_expression "((iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))))" (( "(") (binary_expression "(iVar13 != iVar6) &&\n           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" (parenthesized_expression "(iVar13 != iVar6)" (( "(") (binary_expression "iVar13 != iVar6" (identifier "iVar13") (!= "!=") (identifier "iVar6")) () ")")) (&& "&&") (parenthesized_expression "((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))" (( "(") (parenthesized_expression "(((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'))" (( "(") (binary_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||\n            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" (parenthesized_expression "((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' '))" (( "(") (binary_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')" (parenthesized_expression "(iVar6 < 0 || (iVar9 + -1 <= iVar6))" (( "(") (binary_expression "iVar6 < 0 || (iVar9 + -1 <= iVar6)" (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) (|| "||") (parenthesized_expression "(iVar9 + -1 <= iVar6)" (( "(") (binary_expression "iVar9 + -1 <= iVar6" (binary_expression "iVar9 + -1" (identifier "iVar9") (+ "+") (number_literal "-1")) (<= "<=") (identifier "iVar6")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(*(char *)(*(int *)puVar2 + iVar6) == ' ')" (( "(") (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == ' '" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" (* "*") (cast_expression "(char *)(*(int *)puVar2 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar2 + iVar6)" (( "(") (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (identifier "iVar6")) () ")")))) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')" (( "(") (comma_expression "iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t'" (assignment_expression "iVar10 = iVar6" (identifier "iVar10") (= "=") (identifier "iVar6")) (, ",") (binary_expression "*(char *)(*(int *)puVar2 + iVar6) == '\t'" (pointer_expression "*(char *)(*(int *)puVar2 + iVar6)" (* "*") (cast_expression "(char *)(*(int *)puVar2 + iVar6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)puVar2 + iVar6)" (( "(") (binary_expression "*(int *)puVar2 + iVar6" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (+ "+") (identifier "iVar6")) () ")")))) (== "==") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000e570c;" (goto "goto") (statement_identifier "LAB_000e570c") (; ";")))) (} "}")))) (if_statement "if (iVar10 < iVar9) {\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" (if "if") (parenthesized_expression "(iVar10 < iVar9)" (( "(") (binary_expression "iVar10 < iVar9" (identifier "iVar10") (< "<") (identifier "iVar9")) () ")")) (compound_statement "{\n        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();\n        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }\n        goto LAB_000e54ec;\n      }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();" (assignment_expression "iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)()" (parenthesized_expression "(*(code *)PTR___ctype_get_mb_cur_max_0014642c)" (( "(") (pointer_expression "*(code *)PTR___ctype_get_mb_cur_max_0014642c" (* "*") (cast_expression "(code *)PTR___ctype_get_mb_cur_max_0014642c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___ctype_get_mb_cur_max_0014642c"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }\n        else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" (if "if") (parenthesized_expression "((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0))" (( "(") (binary_expression "(iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)" (parenthesized_expression "(iVar6 == 1)" (( "(") (binary_expression "iVar6 == 1" (identifier "iVar6") (== "==") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "(*(int *)PTR_rl_byte_oriented_00145d7c != 0)" (( "(") (binary_expression "*(int *)PTR_rl_byte_oriented_00145d7c != 0" (pointer_expression "*(int *)PTR_rl_byte_oriented_00145d7c" (* "*") (cast_expression "(int *)PTR_rl_byte_oriented_00145d7c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_byte_oriented_00145d7c"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar13 = *(int *)puVar5;\n          iVar6 = *(int *)puVar4 + 1;\n          *(int *)puVar4 = iVar6;\n        }" ({ "{") (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" (identifier "iVar13") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "iVar6 = *(int *)puVar4 + 1;" (assignment_expression "iVar6 = *(int *)puVar4 + 1" (identifier "iVar6") (= "=") (binary_expression "*(int *)puVar4 + 1" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar6")) (; ";")) (} "}")) (else_clause "else {\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" (else "else") (compound_statement "{\n          iVar9 = *(int *)puVar4;\n          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);\n          *(int *)puVar4 = iVar6;\n          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }\n        }" ({ "{") (expression_statement "iVar9 = *(int *)puVar4;" (assignment_expression "iVar9 = *(int *)puVar4" (identifier "iVar9") (= "=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";")) (expression_statement "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);" (assignment_expression "iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)(1)" (parenthesized_expression "(*(code *)PTR__rl_forward_char_internal_00145d90)" (( "(") (pointer_expression "*(code *)PTR__rl_forward_char_internal_00145d90" (* "*") (cast_expression "(code *)PTR__rl_forward_char_internal_00145d90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__rl_forward_char_internal_00145d90"))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")")))) (; ";")) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }\n          else {\n            iVar13 = *(int *)puVar5;\n          }" (if "if") (parenthesized_expression "((iVar6 == iVar9) || (*(int *)puVar3 < iVar6))" (( "(") (binary_expression "(iVar6 == iVar9) || (*(int *)puVar3 < iVar6)" (parenthesized_expression "(iVar6 == iVar9)" (( "(") (binary_expression "iVar6 == iVar9" (identifier "iVar6") (== "==") (identifier "iVar9")) () ")")) (|| "||") (parenthesized_expression "(*(int *)puVar3 < iVar6)" (( "(") (binary_expression "*(int *)puVar3 < iVar6" (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) (< "<") (identifier "iVar6")) () ")"))) () ")")) (compound_statement "{\n            iVar6 = *(int *)puVar3;\n            iVar13 = *(int *)puVar5;\n            *(int *)puVar4 = iVar6;\n          }" ({ "{") (expression_statement "iVar6 = *(int *)puVar3;" (assignment_expression "iVar6 = *(int *)puVar3" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar3" (* "*") (cast_expression "(int *)puVar3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3")))) (; ";")) (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" (identifier "iVar13") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (expression_statement "*(int *)puVar4 = iVar6;" (assignment_expression "*(int *)puVar4 = iVar6" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar6")) (; ";")) (} "}")) (else_clause "else {\n            iVar13 = *(int *)puVar5;\n          }" (else "else") (compound_statement "{\n            iVar13 = *(int *)puVar5;\n          }" ({ "{") (expression_statement "iVar13 = *(int *)puVar5;" (assignment_expression "iVar13 = *(int *)puVar5" (identifier "iVar13") (= "=") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) (; ";")) (} "}")))) (} "}")))) (goto_statement "goto LAB_000e54ec;" (goto "goto") (statement_identifier "LAB_000e54ec") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000e570c:\n    iVar6 = *(int *)puVar4;" (statement_identifier "LAB_000e570c") (: ":") (expression_statement "iVar6 = *(int *)puVar4;" (assignment_expression "iVar6 = *(int *)puVar4" (identifier "iVar6") (= "=") (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4")))) (; ";"))) (labeled_statement "LAB_000e54ec:\n    bVar1 = iVar13 < iVar6;" (statement_identifier "LAB_000e54ec") (: ":") (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" (identifier "bVar1") (= "=") (binary_expression "iVar13 < iVar6" (identifier "iVar13") (< "<") (identifier "iVar6"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" (else "else") (compound_statement "{\nLAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;\n    bVar1 = iVar13 < iVar6;\n    if (iVar13 <= iVar6) goto LAB_000e55c8;\n  }" ({ "{") (labeled_statement "LAB_000e54e4:\n    if (iVar10 != 99) goto LAB_000e54ec;" (statement_identifier "LAB_000e54e4") (: ":") (if_statement "if (iVar10 != 99) goto LAB_000e54ec;" (if "if") (parenthesized_expression "(iVar10 != 99)" (( "(") (binary_expression "iVar10 != 99" (identifier "iVar10") (!= "!=") (number_literal "99")) () ")")) (goto_statement "goto LAB_000e54ec;" (goto "goto") (statement_identifier "LAB_000e54ec") (; ";")))) (expression_statement "bVar1 = iVar13 < iVar6;" (assignment_expression "bVar1 = iVar13 < iVar6" (identifier "bVar1") (= "=") (binary_expression "iVar13 < iVar6" (identifier "iVar13") (< "<") (identifier "iVar6"))) (; ";")) (if_statement "if (iVar13 <= iVar6) goto LAB_000e55c8;" (if "if") (parenthesized_expression "(iVar13 <= iVar6)" (( "(") (binary_expression "iVar13 <= iVar6" (identifier "iVar13") (<= "<=") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_000e55c8;" (goto "goto") (statement_identifier "LAB_000e55c8") (; ";"))) (} "}")))) (if_statement "if (bVar1) {\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n    *(int *)puVar4 = iVar13;\n    *(int *)puVar5 = iVar6;\n  }" ({ "{") (expression_statement "*(int *)puVar4 = iVar13;" (assignment_expression "*(int *)puVar4 = iVar13" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (= "=") (identifier "iVar13")) (; ";")) (expression_statement "*(int *)puVar5 = iVar6;" (assignment_expression "*(int *)puVar5 = iVar6" (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5"))) (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (labeled_statement "LAB_000e5504:\n  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" (statement_identifier "LAB_000e5504") (: ":") (if_statement "if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_readline_state_00144658 << 0xc < 0)" (( "(") (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc < 0" (binary_expression "*(int *)PTR_rl_readline_state_00144658 << 0xc" (pointer_expression "*(int *)PTR_rl_readline_state_00144658" (* "*") (cast_expression "(int *)PTR_rl_readline_state_00144658" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_readline_state_00144658"))) (<< "<<") (number_literal "0xc")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)PTR_rl_redisplay_function_00145bf4)();\n  }" ({ "{") (expression_statement "(**(code **)PTR_rl_redisplay_function_00145bf4)();" (call_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)()" (parenthesized_expression "(**(code **)PTR_rl_redisplay_function_00145bf4)" (( "(") (pointer_expression "**(code **)PTR_rl_redisplay_function_00145bf4" (* "*") (pointer_expression "*(code **)PTR_rl_redisplay_function_00145bf4" (* "*") (cast_expression "(code **)PTR_rl_redisplay_function_00145bf4" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_rl_redisplay_function_00145bf4")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar7 = FUN_000e29b8(param_2);" (assignment_expression "uVar7 = FUN_000e29b8(param_2)" (identifier "uVar7") (= "=") (call_expression "FUN_000e29b8(param_2)" (identifier "FUN_000e29b8") (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

int function_1(int var_3,type_1 *m)

{
  bool bVar1;
  type_2 *puVar2;
  type_2 *puVar3;
  type_2 *puVar4;
  type_2 *puVar5;
  int var_1;
  int *piVar7;
  int var_2;
  int var_6;
  int var_7;
  type_3 var_5;
  int var_4;
  
  puVar4 = PTR_rl_point_0014555c;
  puVar3 = PTR_rl_end_00145558;
  puVar2 = PTR_rl_line_buffer_00145548;
  var_2 = m->end;
  var_1 = *(int *)PTR_rl_line_buffer_00145548;
  *(int *)PTR_rl_end_00145558 = var_2;
  *(type_4 *)(var_1 + var_2) = 0;
  puVar5 = PTR_rl_mark_00145640;
  var_2 = *(int *)puVar3;
  var_1 = *(int *)puVar4;
  if (var_2 < *(int *)puVar4) {
    *(int *)puVar4 = var_2;
    var_1 = var_2;
  }
  var_4 = *(int *)puVar5;
  var_5 = var_3 & 0xff;
  if (var_4 == var_1) {
    *(type_3 *)PTR_rl_readline_state_00144658 = *(type_3 *)PTR_rl_readline_state_00144658 & 0xffefffff;
    return -1;
  }
  if ((var_5 == var_3) &&
     (piVar7 = (int *)(*(type_5 *)PTR___ctype_b_loc_001461fc)(),
     (*(type_6 *)(*piVar7 + var_3 * 2) & 2) != 0)) {
    piVar7 = (int *)(*(type_5 *)PTR__MIPS_STUBS__00146580)();
    bVar1 = *(int *)(*piVar7 + var_3 * 4) == 0x57;
  }
  else {
    bVar1 = var_3 == 0x57;
  }
  var_6 = m->key;
  if ((bVar1) && (var_1 < var_2)) {
    if (var_4 < var_1) {
      if ((*(char *)(*(int *)puVar2 + var_1) != ' ') && (*(char *)(*(int *)puVar2 + var_1) != '\t'))
      {
        var_1 = var_1 + -1;
        *(int *)puVar4 = var_1;
        goto LAB_000e54e4;
      }
      if (var_6 != 99) {
        *(int *)puVar4 = var_4;
        *(int *)puVar5 = var_1;
        goto LAB_000e5504;
      }
    }
    else if ((var_6 != 99) || (var_1 < var_4)) goto LAB_000e5504;
LAB_000e55c8:
    if ((var_5 == var_3) &&
       (piVar7 = (int *)(*(type_5 *)PTR___ctype_b_loc_001461fc)(),
       (*(type_6 *)(*piVar7 + var_5 * 2) & 2) != 0)) {
      piVar7 = (int *)(*(type_5 *)PTR__MIPS_STUBS__00146580)();
      bVar1 = *(int *)(*piVar7 + var_5 * 4) == 0x57;
    }
    else {
      bVar1 = var_3 == 0x57;
    }
    if (bVar1) {
      var_6 = var_4;
      if (var_4 < var_1) {
        var_7 = *(int *)puVar2;
        do {
          if ((*(char *)(var_7 + var_1) != ' ') && (*(char *)(var_7 + var_1) != '\t'))
          goto LAB_000e56c8;
          var_1 = var_1 + -1;
          *(int *)puVar4 = var_1;
        } while (var_4 != var_1);
      }
      else {
LAB_000e56c8:
        if ((var_4 != var_1) &&
           ((((var_1 < 0 || (var_2 + -1 <= var_1)) || (*(char *)(*(int *)puVar2 + var_1) == ' ')) ||
            (var_6 = var_1, *(char *)(*(int *)puVar2 + var_1) == '\t')))) goto LAB_000e570c;
      }
      if (var_6 < var_2) {
        var_1 = (*(type_5 *)PTR___ctype_get_mb_cur_max_0014642c)();
        if ((var_1 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {
          var_4 = *(int *)puVar5;
          var_1 = *(int *)puVar4 + 1;
          *(int *)puVar4 = var_1;
        }
        else {
          var_2 = *(int *)puVar4;
          var_1 = (*(type_5 *)PTR__rl_forward_char_internal_00145d90)(1);
          *(int *)puVar4 = var_1;
          if ((var_1 == var_2) || (*(int *)puVar3 < var_1)) {
            var_1 = *(int *)puVar3;
            var_4 = *(int *)puVar5;
            *(int *)puVar4 = var_1;
          }
          else {
            var_4 = *(int *)puVar5;
          }
        }
        goto LAB_000e54ec;
      }
    }
LAB_000e570c:
    var_1 = *(int *)puVar4;
LAB_000e54ec:
    bVar1 = var_4 < var_1;
  }
  else {
LAB_000e54e4:
    if (var_6 != 99) goto LAB_000e54ec;
    bVar1 = var_4 < var_1;
    if (var_4 <= var_1) goto LAB_000e55c8;
  }
  if (bVar1) {
    *(int *)puVar4 = var_4;
    *(int *)puVar5 = var_1;
  }
LAB_000e5504:
  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {
    (**(type_5 **)PTR_rl_redisplay_function_00145bf4)();
  }
  var_1 = var_8(m);
  return var_1;
}


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

undefined4 MASKED(uint param_1,int param_2)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  undefined4 uVar7;
  int *piVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  int iVar13;
  
  puVar4 = PTR_rl_point_0014555c;
  puVar3 = PTR_rl_end_00145558;
  puVar2 = PTR_rl_line_buffer_00145548;
  iVar9 = *(int *)(param_2 + 0x18);
  iVar6 = *(int *)PTR_rl_line_buffer_00145548;
  *(int *)PTR_rl_end_00145558 = iVar9;
  *(undefined1 *)(iVar6 + iVar9) = 0;
  puVar5 = PTR_rl_mark_00145640;
  iVar9 = *(int *)puVar3;
  iVar6 = *(int *)puVar4;
  if (iVar9 < *(int *)puVar4) {
    *(int *)puVar4 = iVar9;
    iVar6 = iVar9;
  }
  iVar13 = *(int *)puVar5;
  uVar12 = param_1 & 0xff;
  if (iVar13 == iVar6) {
    *(uint *)PTR_rl_readline_state_00144658 = *(uint *)PTR_rl_readline_state_00144658 & 0xffefffff;
    return 0xffffffff;
  }
  if ((uVar12 == param_1) &&
     (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
     (*(ushort *)(*piVar8 + param_1 * 2) & 2) != 0)) {
    piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();
    bVar1 = *(int *)(*piVar8 + param_1 * 4) == 0x57;
  }
  else {
    bVar1 = param_1 == 0x57;
  }
  iVar10 = *(int *)(param_2 + 0x1c);
  if ((bVar1) && (iVar6 < iVar9)) {
    if (iVar13 < iVar6) {
      if ((*(char *)(*(int *)puVar2 + iVar6) != ' ') && (*(char *)(*(int *)puVar2 + iVar6) != '\t'))
      {
        iVar6 = iVar6 + -1;
        *(int *)puVar4 = iVar6;
        goto LAB_000e54e4;
      }
      if (iVar10 != 99) {
        *(int *)puVar4 = iVar13;
        *(int *)puVar5 = iVar6;
        goto LAB_000e5504;
      }
    }
    else if ((iVar10 != 99) || (iVar6 < iVar13)) goto LAB_000e5504;
LAB_000e55c8:
    if ((uVar12 == param_1) &&
       (piVar8 = (int *)(*(code *)PTR___ctype_b_loc_001461fc)(),
       (*(ushort *)(*piVar8 + uVar12 * 2) & 2) != 0)) {
      piVar8 = (int *)(*(code *)PTR___ctype_toupper_loc_00146580)();
      bVar1 = *(int *)(*piVar8 + uVar12 * 4) == 0x57;
    }
    else {
      bVar1 = param_1 == 0x57;
    }
    if (bVar1) {
      iVar10 = iVar13;
      if (iVar13 < iVar6) {
        iVar11 = *(int *)puVar2;
        do {
          if ((*(char *)(iVar11 + iVar6) != ' ') && (*(char *)(iVar11 + iVar6) != '\t'))
          goto LAB_000e56c8;
          iVar6 = iVar6 + -1;
          *(int *)puVar4 = iVar6;
        } while (iVar13 != iVar6);
      }
      else {
LAB_000e56c8:
        if ((iVar13 != iVar6) &&
           ((((iVar6 < 0 || (iVar9 + -1 <= iVar6)) || (*(char *)(*(int *)puVar2 + iVar6) == ' ')) ||
            (iVar10 = iVar6, *(char *)(*(int *)puVar2 + iVar6) == '\t')))) goto LAB_000e570c;
      }
      if (iVar10 < iVar9) {
        iVar6 = (*(code *)PTR___ctype_get_mb_cur_max_0014642c)();
        if ((iVar6 == 1) || (*(int *)PTR_rl_byte_oriented_00145d7c != 0)) {
          iVar13 = *(int *)puVar5;
          iVar6 = *(int *)puVar4 + 1;
          *(int *)puVar4 = iVar6;
        }
        else {
          iVar9 = *(int *)puVar4;
          iVar6 = (*(code *)PTR__rl_forward_char_internal_00145d90)(1);
          *(int *)puVar4 = iVar6;
          if ((iVar6 == iVar9) || (*(int *)puVar3 < iVar6)) {
            iVar6 = *(int *)puVar3;
            iVar13 = *(int *)puVar5;
            *(int *)puVar4 = iVar6;
          }
          else {
            iVar13 = *(int *)puVar5;
          }
        }
        goto LAB_000e54ec;
      }
    }
LAB_000e570c:
    iVar6 = *(int *)puVar4;
LAB_000e54ec:
    bVar1 = iVar13 < iVar6;
  }
  else {
LAB_000e54e4:
    if (iVar10 != 99) goto LAB_000e54ec;
    bVar1 = iVar13 < iVar6;
    if (iVar13 <= iVar6) goto LAB_000e55c8;
  }
  if (bVar1) {
    *(int *)puVar4 = iVar13;
    *(int *)puVar5 = iVar6;
  }
LAB_000e5504:
  if (*(int *)PTR_rl_readline_state_00144658 << 0xc < 0) {
    (**(code **)PTR_rl_redisplay_function_00145bf4)();
  }
  uVar7 = FUN_000e29b8(param_2);
  return uVar7;
}

