Function at 0x1400456e0
Capabilities:
Capture screenshot

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x258]
sub rsp, 0x358
mov ecx, 0x5dc
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x1400e86ee], 0
je 0x140045dea
cmp byte [reloc.WS2_32.dll_accept], 0
je 0x140045dea
cmp dword [0x1400e870c], 1
jne 0x140045dea
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r14, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov esi, eax
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov r8d, esi
mov edx, ebx
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r15, rax
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13, rax
mov dword [rsp + 0x40], 0xcc0020
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], esi
mov r9d, ebx
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_BitBlt]
mov dword [rbp - 0x60], Ordinal_45
mov dword [rbp - 0x5c], ebx
mov r12d, esi
neg r12d
mov dword [rbp - 0x58], r12d
mov qword [rbp - 0x54], 0x180001
xor eax, eax
mov qword [rbp - 0x4c], rax
mov qword [rbp - 0x44], rax
mov dword [rbp - 0x3c], eax
mov dword [rbp + 0x2a0], ebx
mov dword [rbp + 0x2a4], esi
lea r8d, [rax + 0x10]
mov rdx, qword [rbp + 0x2a0]
lea rcx, [rbp + 0x10]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::constructor_class_cv::Size__int___int____ptr64]
nop
xor ebx, ebx
mov dword [rsp + 0x30], ebx
lea rax, [rbp - 0x60]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetDIBits]
lea r8d, [rbx + 1]
lea rdx, str.food.png
lea rcx, [rbp + 0x130]
call qword [sym.imp.opencv_world490.dll_class_cv::Mat___cdecl_cv::imread_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__int_]
nop
lea rcx, [rbp + 0x130]
call qword [sym.imp.opencv_world490.dll_public:_bool___cdecl_cv::Mat::empty_void_const___ptr64]
test al, al
jne 0x140045855
lea rcx, [rbp + 0x10]
call qword [sym.imp.opencv_world490.dll_public:_bool___cdecl_cv::Mat::empty_void_const___ptr64]
test al, al
je 0x140045878
lea rdx, [0x1400d2610]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140051580
lea rdx, [0x140051790]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::constructor_void____ptr64]
nop
call qword [sym.imp.opencv_world490.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rsp + 0x78], rbx
mov dword [rsp + 0x68], 0x2010000
lea rcx, [rbp + 0xd0]
mov qword [rsp + 0x70], rcx
mov qword [rbp - 0x70], rbx
mov dword [rbp - 0x80], 0x1010000
lea rcx, [rbp + 0x130]
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], 0x1010000
lea rcx, [rbp + 0x10]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x20], rax
mov r9d, 5
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x50]
call qword [sym.imp.opencv_world490.dll_void___cdecl_cv::matchTemplate_class_cv::_InputArray_const____ptr64__class_cv::_InputArray_const____ptr64__class_cv::_OutputArray_const____ptr64__int__class_cv::_InputArray_const____ptr64_]
mov qword [rbp + 0x2b0], rbx
mov qword [rbp + 0x2a8], rbx
call qword [sym.imp.opencv_world490.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], 0x1010000
lea rcx, [rbp + 0xd0]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2a8]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x2b0]
lea r8, [rbp - 0x10]
lea rdx, [rbp]
lea rcx, [rsp + 0x50]
call qword [sym.imp.opencv_world490.dll_void___cdecl_cv::minMaxLoc_class_cv::_InputArray_const____ptr64__double____ptr64__double____ptr64__class_cv::Point__int_____ptr64__class_cv::Point__int_____ptr64__class_cv::_InputArray_const____ptr64_]
mov rdx, r13
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
movsd xmm0, qword [rbp - 0x10]
comisd xmm0, xmmword [0x1400d5ca8]
jbe 0x140045d73
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
mov r14, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov rdi, rax
mov r8d, esi
mov edx, ebx
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov r15, rax
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov r13, rax
mov dword [rsp + 0x40], 0xcc0020
xor eax, eax
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], esi
mov r9d, ebx
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.GDI32.dll_BitBlt]
mov dword [rbp - 0x38], Ordinal_45
mov dword [rbp - 0x34], ebx
mov dword [rbp - 0x30], r12d
mov qword [rbp - 0x2c], 0x180001
xor r12d, r12d
mov qword [rbp - 0x24], r12
mov qword [rbp - 0x1c], r12
mov dword [rbp - 0x14], r12d
mov dword [rbp + 0x2b8], ebx
mov dword [rbp + 0x2bc], esi
lea r8d, [r12 + 0x10]
mov rdx, qword [rbp + 0x2b8]
lea rcx, [rbp + 0x70]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::constructor_class_cv::Size__int___int____ptr64]
nop
mov dword [rsp + 0x30], r12d
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, esi
xor r8d, r8d
mov rdx, r15
mov rcx, rdi
call qword [sym.imp.GDI32.dll_GetDIBits]
lea r8d, [r12 + 1]
lea rdx, str.salad.png
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.opencv_world490.dll_class_cv::Mat___cdecl_cv::imread_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__int_]
nop
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.opencv_world490.dll_public:_bool___cdecl_cv::Mat::empty_void_const___ptr64]
test al, al
jne 0x140045add
lea rcx, [rbp + 0x70]
call qword [sym.imp.opencv_world490.dll_public:_bool___cdecl_cv::Mat::empty_void_const___ptr64]
test al, al
je 0x140045b00
lea rdx, [0x1400d2610]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140051580
lea rdx, [0x140051790]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
lea rcx, [rbp + 0x190]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::constructor_void____ptr64]
nop
call qword [sym.imp.opencv_world490.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x50], 0x2010000
lea rcx, [rbp + 0x190]
mov qword [rsp + 0x58], rcx
mov qword [rbp - 0x70], r12
mov dword [rbp - 0x80], 0x1010000
lea rcx, [rbp + 0x1f0]
mov qword [rbp - 0x78], rcx
mov qword [rsp + 0x78], r12
mov dword [rsp + 0x68], 0x1010000
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x20], rax
mov r9d, 5
lea r8, [rsp + 0x50]
lea rdx, [rbp - 0x80]
lea rcx, [rsp + 0x68]
call qword [sym.imp.opencv_world490.dll_void___cdecl_cv::matchTemplate_class_cv::_InputArray_const____ptr64__class_cv::_InputArray_const____ptr64__class_cv::_OutputArray_const____ptr64__int__class_cv::_InputArray_const____ptr64_]
mov qword [rbp - 0x68], r12
mov qword [rbp + 0x2a0], r12
call qword [sym.imp.opencv_world490.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x50], 0x1010000
lea rcx, [rbp + 0x190]
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x2a0]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x68]
lea r8, [rbp - 8]
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x50]
call qword [sym.imp.opencv_world490.dll_void___cdecl_cv::minMaxLoc_class_cv::_InputArray_const____ptr64__double____ptr64__double____ptr64__class_cv::Point__int_____ptr64__class_cv::Point__int_____ptr64__class_cv::_InputArray_const____ptr64_]
mov rdx, r13
mov rcx, rdi
call qword [sym.imp.GDI32.dll_SelectObject]
mov rcx, r15
call qword [sym.imp.GDI32.dll_DeleteObject]
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteDC]
mov rcx, rdi
call qword [sym.imp.GDI32.dll_DeleteDC]
movsd xmm0, qword [rbp - 8]
comisd xmm0, xmmword [0x1400d5ca8]
jbe 0x140045d2e
mov r8d, reloc.WS2_32.dll_send
lea rdx, [0x1400d2720]
lea rcx, [0x1400e7600]
call fcn.1400508d0
mov edx, dword [rbp + 0x2a4]
mov ecx, dword [rbp + 0x2a0]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 8]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x20], r12
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 0x10]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, 0x2bc
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, reloc.WLDAP32.dll_Ordinal_50
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, reloc.WLDAP32.dll_Ordinal_50
call qword [sym.imp.USER32.dll_keybd_event]
mov r8d, reloc.WS2_32.dll_socket
lea rdx, [0x1400d2738]
lea rcx, [0x1400e7600]
call fcn.1400508d0
nop
lea rcx, [rbp + 0x190]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x1f0]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x70]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
jmp 0x140045dc4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
movzx ecx, byte [0x1400e7158]
call qword [sym.imp.USER32.dll_keybd_event]
mov r8d, reloc.WLDAP32.dll_Ordinal_26
lea rdx, [0x1400d2750]
jmp 0x140045cf6
mov ecx, Ordinal_301
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cl, reloc.WLDAP32.dll_Ordinal_50
call qword [sym.imp.USER32.dll_keybd_event]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
xor r9d, r9d
xor edx, edx
lea r8d, [r9 + 2]
mov cl, reloc.WLDAP32.dll_Ordinal_50
call qword [sym.imp.USER32.dll_keybd_event]
mov r8d, reloc.WS2_32.dll_socket
lea rdx, [0x1400d2738]
lea rcx, [0x1400e7600]
call fcn.1400508d0
nop
lea rcx, [rbp + 0xd0]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x130]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
nop
lea rcx, [rbp + 0x10]
call qword [sym.imp.opencv_world490.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
add rsp, 0x358
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret