Function at 0x401390
Capabilities:
Execute command

Disassembly:
push ebp
mov ebp, esp
push edi
sub esp, 0xf4
and esp, 0xfffffff0
mov eax, 0
add eax, 0xf
add eax, 0xf
shr eax, 4
shl eax, 4
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
call fcn.00406870
call sym.___main
mov dword [ebp - 0xc], 0
mov eax, dword [str.test.avi]
mov dword [ebp - 0x58], eax
mov eax, dword [0x40e004]
mov dword [ebp - 0x54], eax
movzx eax, byte [0x40e008]
mov byte [ebp - 0x50], al
lea edi, [ebp - 0x4f]
cld
mov ecx, 0x29
mov al, 0
rep stosb byte es:[edi], al
mov dword [ebp - 0x5c], 1
lea eax, [ebp - 0x58]
mov dword [esp], eax
call sym._cvCreateFileCapture
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jne 0x40143b
lea eax, [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], str.Error:_No_such_file__s_n
call sym._printf
mov dword [esp], str.PAUSE
call sym._system
mov dword [ebp - 0x9c], 0xffffffff
jmp 0x401919
mov dword [esp], str.Please_click_the__left__button_to_set_the_region._n
call sym._printf
mov dword [esp], str.Please_click_the__right__button_to_save_the_region._n
call sym._printf
mov dword [esp], str.Enter_r_R_to_reset_the_region._n
call sym._printf
mov dword [esp + 4], 1
mov dword [esp], str.Intput
call sym._cvNamedWindow
mov dword [esp + 4], 1
mov dword [esp], str.Output
call sym._cvNamedWindow
mov dword [esp + 4], 1
mov dword [esp], str.Area
call sym._cvNamedWindow
mov dword [esp + 8], 0
mov dword [esp + 4], sym.onMouse_int__int__int__int__void_
mov dword [esp], str.Output
call sym._cvSetMouseCallback
mov eax, dword [ebp - 0xc]
mov dword [esp], eax
call sym._cvQueryFrame
mov dword [0x40f010], eax
cmp dword [0x40f010], 0
je 0x4018c8
mov eax, dword [0x40f010]
mov dword [esp + 4], eax
mov dword [esp], str.Intput
call sym._cvShowImage
mov dword [esp + 8], 3
mov eax, dword [0x40f014]
mov dword [esp + 4], eax
mov eax, dword [0x40f010]
mov dword [esp], eax
call sym._cvResize
cmp dword [0x40d010], 3
jne 0x40184c
mov eax, dword [0x40f030]
mov dword [0x40f038], eax
mov dword [0x40f040], 0
mov eax, dword [0x40f038]
cmp eax, dword [0x40f034]
jg 0x401609
mov eax, dword [0x40f028]
mov dword [0x40f03c], eax
mov dword [0x40f044], 0
mov eax, dword [0x40f03c]
cmp eax, dword [0x40f02c]
jg 0x4015f8
lea edx, [ebp - 0x88]
mov eax, dword [0x40f03c]
mov dword [esp + 0xc], eax
mov eax, dword [0x40f038]
mov dword [esp + 8], eax
mov eax, dword [0x40f014]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._cvGet2D
sub esp, 4
mov eax, dword [ebp - 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [0x40f044]
mov dword [esp + 8], eax
mov eax, dword [0x40f040]
mov dword [esp + 4], eax
mov eax, dword [0x40f018]
mov dword [esp], eax
call sym._cvSet2D
inc dword [0x40f03c]
inc dword [0x40f044]
jmp 0x40154d
inc dword [0x40f038]
inc dword [0x40f040]
jmp 0x401528
fldz
fstp qword [esp + 0x1c]
fldz
fstp qword [esp + 0x14]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xf
mov dword [esp + 8], 1
mov eax, dword [0x40f018]
mov dword [esp + 4], eax
mov eax, dword [0x40f018]
mov dword [esp], eax
call sym._cvSmooth
mov eax, dword [0x40f030]
mov dword [0x40f038], eax
mov dword [0x40f040], 0
mov eax, dword [0x40f038]
cmp eax, dword [0x40f034]
jg 0x401738
mov eax, dword [0x40f028]
mov dword [0x40f03c], eax
mov dword [0x40f044], 0
mov eax, dword [0x40f03c]
cmp eax, dword [0x40f02c]
jg 0x401727
lea edx, [ebp - 0x88]
mov eax, dword [0x40f044]
mov dword [esp + 0xc], eax
mov eax, dword [0x40f040]
mov dword [esp + 8], eax
mov eax, dword [0x40f018]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._cvGet2D
sub esp, 4
mov eax, dword [ebp - 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x80]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [0x40f03c]
mov dword [esp + 8], eax
mov eax, dword [0x40f038]
mov dword [esp + 4], eax
mov eax, dword [0x40f014]
mov dword [esp], eax
call sym._cvSet2D
inc dword [0x40f03c]
inc dword [0x40f044]
jmp 0x40167c
inc dword [0x40f038]
inc dword [0x40f040]
jmp 0x401657
mov dword [esp], str.Choose
call sym._printf
lea eax, [ebp - 0x88]
fldz
fstp qword [esp + 0x1c]
fld qword [0x40e100]
fstp qword [esp + 0x14]
fldz
fstp qword [esp + 0xc]
fldz
fstp qword [esp + 4]
mov dword [esp], eax
call sym.cvScalar_double__double__double__double_
sub esp, 4
mov eax, dword [0x40d00c]
add eax, 3
mov dword [esp + 4], eax
mov eax, dword [0x40d008]
add eax, 3
mov dword [esp], eax
call sym.cvPoint_int__int_
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
mov eax, dword [0x40d004]
sub eax, 3
mov dword [esp + 4], eax
mov eax, dword [section..data]
sub eax, 3
mov dword [esp], eax
call sym.cvPoint_int__int_
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 8
mov dword [esp + 0x34], 3
mov eax, dword [ebp - 0x88]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x7c]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x74]
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp + 0x30], eax
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [0x40f014]
mov dword [esp], eax
call sym._cvRectangle
mov eax, dword [0x40f014]
mov dword [esp + 4], eax
mov dword [esp], str.Output
call sym._cvShowImage
lea eax, [ebp - 0x5c]
inc dword [eax]
mov eax, dword [ebp - 0x5c]
mov dword [esp + 4], eax
mov dword [esp], str._n_d
call sym._printf
mov dword [esp], 0x21
call sym._cvWaitKey
mov byte [0x40f048], al
cmp byte [0x40f048], 0x72
je 0x40189e
cmp byte [0x40f048], 0x52
je 0x40189e
jmp 0x4018a8
mov dword [0x40d010], 1
cmp byte [0x40f048], 0x1b
je 0x4018c8
cmp byte [0x40f048], 0x71
je 0x4018c8
cmp byte [0x40f048], 0x51
je 0x4018c8
jmp 0x4014b7
mov dword [esp], 0x40f014
call sym._cvReleaseImage
mov dword [esp], 0x40f01c
call sym._cvReleaseImage
mov dword [esp], str.Intput
call sym._cvDestroyWindow
mov dword [esp], str.Output
call sym._cvDestroyWindow
mov dword [esp], str.Area
call sym._cvDestroyWindow
lea eax, [ebp - 0xc]
mov dword [esp], eax
call sym._cvReleaseCapture
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 4]
leave
ret