// File: /workspace/github_c_makefile_star2_O0/szanni[P]slideextract/slideextract.cpp
// Function: se_mouseHandler(int, int, int, int, void*)
static void
_se_mouseHandler(int event, int x, int y, int flags, void *param)
{
	Mat clone;
	Mat frame = *(Mat*)param;

	if (event == EVENT_LBUTTONDOWN && (flags & EVENT_FLAG_LBUTTON)) {
		point1 = Point (x, y);
		point2 = Point (x, y);
	}

	if (!(flags & EVENT_FLAG_LBUTTON))
		return;

	if (event != EVENT_MOUSEMOVE && event != EVENT_LBUTTONUP)
		return;

	point2 = Point(x, y);
	selected_roi = (point1.x != point2.x && point1.y != point2.y);

	clone = frame.clone();
	rectangle(clone, point1, point2, CV_RGB(0, 255, 0), 1, 8, 0);
	imshow("frame", clone);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x200, %rsp            # imm = 0x200
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl %ecx, -0x10(%rbp)
movq %r8, -0x18(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x2070
movq -0x18(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x21d0
jmp 0x2c16
cmpl $0x1, -0x4(%rbp)
jne 0x2ca9
movl -0x10(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x2ca9
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
leaq -0xec(%rbp), %rdi
callq 0x3bf0
jmp 0x2c3f
leaq 0x55ae(%rip), %rdi      # 0x81f4
leaq -0xec(%rbp), %rsi
callq 0x3c10
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
leaq -0xf4(%rbp), %rdi
callq 0x3bf0
jmp 0x2c66
leaq 0x558f(%rip), %rdi      # 0x81fc
leaq -0xf4(%rbp), %rsi
callq 0x3c10
jmp 0x2ca9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x2f5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x2f50
movl -0x10(%rbp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x2cc3
movl $0x1, -0xf8(%rbp)
jmp 0x2e94
cmpl $0x0, -0x4(%rbp)
je 0x2cde
cmpl $0x4, -0x4(%rbp)
je 0x2cde
movl $0x1, -0xf8(%rbp)
jmp 0x2e94
movl -0x8(%rbp), %esi
movl -0xc(%rbp), %edx
leaq -0x100(%rbp), %rdi
callq 0x3bf0
jmp 0x2cf2
leaq 0x5503(%rip), %rdi      # 0x81fc
leaq -0x100(%rbp), %rsi
callq 0x3c10
movl 0x54e9(%rip), %ecx      # 0x81f4
xorl %eax, %eax
cmpl 0x54e9(%rip), %ecx      # 0x81fc
movb %al, -0x1e9(%rbp)
je 0x2d30
movl 0x54d7(%rip), %eax      # 0x81f8
cmpl 0x54d9(%rip), %eax      # 0x8200
setne %al
movb %al, -0x1e9(%rbp)
movb -0x1e9(%rbp), %al
andb $0x1, %al
movb %al, 0x54c6(%rip)       # 0x8204
leaq -0x160(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x20f0
jmp 0x2d53
leaq -0x78(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x2080
jmp 0x2d65
leaq -0x160(%rbp), %rdi
callq 0x2090
leaq -0x178(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x3970
jmp 0x2d83
leaq 0x546a(%rip), %rsi      # 0x81f4
leaq -0x180(%rbp), %rdi
callq 0x39b0
jmp 0x2d98
leaq 0x545d(%rip), %rsi      # 0x81fc
leaq -0x188(%rbp), %rdi
callq 0x39b0
jmp 0x2dad
leaq -0x1a8(%rbp), %rdi
movsd 0x224c(%rip), %xmm1     # 0x5008
xorps %xmm3, %xmm3
movaps %xmm3, %xmm0
movaps %xmm3, %xmm2
callq 0x39e0
jmp 0x2dcc
movq %rsp, %rax
movl $0x0, (%rax)
leaq -0x178(%rbp), %rdi
leaq -0x180(%rbp), %rsi
leaq -0x188(%rbp), %rdx
leaq -0x1a8(%rbp), %rcx
movl $0x1, %r8d
movl $0x8, %r9d
callq 0x2060
jmp 0x2e04
leaq -0x178(%rbp), %rdi
callq 0x3a40
leaq -0x1c9(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
callq 0x2100
movq -0x1f8(%rbp), %rdx
leaq 0x21e7(%rip), %rsi      # 0x5018
leaq -0x1c8(%rbp), %rdi
callq 0x3840
jmp 0x2e3f
leaq -0x1e8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x3a60
jmp 0x2e51
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x2030
jmp 0x2e66
leaq -0x1e8(%rbp), %rdi
callq 0x3aa0
leaq -0x1c8(%rbp), %rdi
callq 0x2190
leaq -0x1c9(%rbp), %rdi
callq 0x23a0
movl $0x0, -0xf8(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x2090
leaq -0x78(%rbp), %rdi
callq 0x2090
addq $0x200, %rsp            # imm = 0x200
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x2090
jmp 0x2f50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x3a40
jmp 0x2f50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x2f44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x2f38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x1e8(%rbp), %rdi
callq 0x3aa0
leaq -0x1c8(%rbp), %rdi
callq 0x2190
leaq -0x1c9(%rbp), %rdi
callq 0x23a0
leaq -0xd8(%rbp), %rdi
callq 0x2090
leaq -0x78(%rbp), %rdi
callq 0x2090
movq -0xe0(%rbp), %rdi
callq 0x2270
nopw %cs:(%rax,%rax)