// File: /workspace/github_c_makefile_star2_O0/jaimecgomezz[P]st/st.c
// Function: tclearregion
void tclearregion(int x1, int y1, int x2, int y2) {
  int x, y, temp;
  Glyph *gp;

  if (x1 > x2)
    temp = x1, x1 = x2, x2 = temp;
  if (y1 > y2)
    temp = y1, y1 = y2, y2 = temp;

  // >>>>>>>>>>>>>>>>>>>> vim-browse
  // ==================== vim-browse
  LIMIT(x1, 0, term.col - 1);
  LIMIT(x2, 0, term.col - 1);
  // ==================== vim-browse
  // <<<<<<<<<<<<<<<<<<<< vim-browse
  LIMIT(y1, 0, term.row - 1);
  LIMIT(y2, 0, term.row - 1);

  for (y = y1; y <= y2; y++) {
    term.dirty[y] = 1;
    for (x = x1; x <= x2; x++) {
      gp = &term.line[y][x];
      // >>>>>>>>>>>>>>>>>>>> vim-browse
      // ==================== vim-browse
      if (selected(x, y))
        selclear();
      // ==================== vim-browse
      // <<<<<<<<<<<<<<<<<<<< vim-browse
      gp->fg = term.c.attr.fg;
      gp->bg = term.c.attr.bg;
      gp->mode = 0;
      gp->u = ' ';
    }
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movl -0x4(%rbp), %eax
cmpl -0xc(%rbp), %eax
jle 0x7e7e
movl -0x4(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0xc(%rbp)
movl -0x8(%rbp), %eax
cmpl -0x10(%rbp), %eax
jle 0x7e98
movl -0x8(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0x8(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x10(%rbp)
cmpl $0x0, -0x4(%rbp)
jge 0x7ea5
xorl %eax, %eax
movl %eax, -0x2c(%rbp)
jmp 0x7ecf
movl -0x4(%rbp), %eax
movl 0x10f16(%rip), %ecx     # 0x18dc4
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x7ec3
movl 0x10f09(%rip), %eax     # 0x18dc4
subl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x7ec9
movl -0x4(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x4(%rbp)
cmpl $0x0, -0xc(%rbp)
jge 0x7ee2
xorl %eax, %eax
movl %eax, -0x34(%rbp)
jmp 0x7f0c
movl -0xc(%rbp), %eax
movl 0x10ed9(%rip), %ecx     # 0x18dc4
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x7f00
movl 0x10ecc(%rip), %eax     # 0x18dc4
subl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x7f06
movl -0xc(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0xc(%rbp)
cmpl $0x0, -0x8(%rbp)
jge 0x7f1f
xorl %eax, %eax
movl %eax, -0x3c(%rbp)
jmp 0x7f49
movl -0x8(%rbp), %eax
movl 0x10e98(%rip), %ecx     # 0x18dc0
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x7f3d
movl 0x10e8b(%rip), %eax     # 0x18dc0
subl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x7f43
movl -0x8(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x8(%rbp)
cmpl $0x0, -0x10(%rbp)
jge 0x7f5c
xorl %eax, %eax
movl %eax, -0x44(%rbp)
jmp 0x7f86
movl -0x10(%rbp), %eax
movl 0x10e5b(%rip), %ecx     # 0x18dc0
subl $0x1, %ecx
cmpl %ecx, %eax
jle 0x7f7a
movl 0x10e4e(%rip), %eax     # 0x18dc0
subl $0x1, %eax
movl %eax, -0x48(%rbp)
jmp 0x7f80
movl -0x10(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x8(%rbp), %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x10(%rbp), %eax
jg 0x803a
movq 0x10e33(%rip), %rax     # 0x18dd8
movslq -0x18(%rbp), %rcx
movl $0x1, (%rax,%rcx,4)
movl -0x4(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0xc(%rbp), %eax
jg 0x802a
movq 0x10e03(%rip), %rax     # 0x18dc8
movslq -0x18(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movslq -0x14(%rbp), %rcx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x28(%rbp)
movl -0x14(%rbp), %edi
movl -0x18(%rbp), %esi
callq 0x61d0
cmpl $0x0, %eax
je 0x7ff1
callq 0x5e00
movl 0x10df1(%rip), %ecx     # 0x18de8
movq -0x28(%rbp), %rax
movl %ecx, 0x8(%rax)
movl 0x10de8(%rip), %ecx     # 0x18dec
movq -0x28(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x28(%rbp), %rax
movw $0x0, 0x4(%rax)
movq -0x28(%rbp), %rax
movl $0x20, (%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x7fb6
jmp 0x802c
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x7f92
addq $0x50, %rsp
popq %rbp
retq