Function at 0x14004d520
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1400e06c0]
xor rax, rsp
mov qword [rbp + 0x118], rax
mov rsi, r8
mov qword [rbp - 0x68], r8
mov r13, rdx
mov qword [rbp - 0x60], rdx
xor r12d, r12d
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x48], xmm1
mov qword [rbp + 0x58], r12
movdqu xmmword [rbp + 0x30], xmm1
mov qword [rbp + 0x40], r12
movdqu xmmword [rbp + 0x10], xmm1
mov qword [rbp + 0x20], r12
mov r14d, r12d
mov qword [rsp + 0x58], r12
mov r8, qword [r8]
mov rcx, qword [rsi + 8]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x14004d857
mov edi, r12d
lea rcx, [r8 + rdi]
call qword [sym.imp.opencv_world481.dll_public:_bool___cdecl_cv::Mat::empty_void_const___ptr64]
test al, al
jne 0x14004d81d
mov rcx, qword [rsi]
mov rbx, qword [rcx + rdi + 0x10]
mov r15d, r12d
cmp dword [rcx + rdi + 8], 0
jle 0x14004d81d
nop dword [rax + rax]
xorps xmm0, xmm0
movups xmmword [rbp + 0x90], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
lea rdx, [rcx + rdi]
mov dword [rsp + 0x78], 0x80000000
mov dword [rsp + 0x7c], 0x7fffffff
mov dword [rbp - 0x80], r15d
lea eax, [r15 + 1]
mov r15d, eax
mov dword [rbp - 0x7c], eax
lea r9, [rsp + 0x78]
lea r8, [rbp - 0x80]
lea rcx, [rbp - 0x50]
call qword [sym.imp.opencv_world481.dll_public:_void___cdecl_cv::Mat::constructor_class_cv::Mat_const____ptr64__class_cv::Range_const____ptr64__class_cv::Range_const____ptr64____ptr64]
nop
mov rax, qword [rsi]
mov ecx, dword [rax + rdi + 0xc]
mov dword [rbp - 0x78], 5
mov dword [rbp - 0x74], ecx
mov dword [rbp - 0x70], 0x80000000
mov dword [rbp - 0x6c], 0x7fffffff
lea r9, [rbp - 0x78]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x90]
call qword [sym.imp.opencv_world481.dll_public:_void___cdecl_cv::Mat::constructor_class_cv::Mat_const____ptr64__class_cv::Range_const____ptr64__class_cv::Range_const____ptr64____ptr64]
nop
lea rcx, [rbp - 0x50]
call qword [sym.imp.opencv_world481.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
mov qword [rbp + 0x28], 0
call qword [sym.imp.opencv_world481.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rsp + 0x70], 0
mov dword [rsp + 0x60], 0x1010000
lea rcx, [rbp + 0x90]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x60]
xor edx, edx
lea rcx, [rsp + 0x60]
call qword [sym.imp.opencv_world481.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_]
movss xmm1, dword [0x1400e076c]
cvtps2pd xmm1, xmm1
movsd xmm0, qword [rbp + 0x60]
comisd xmm0, xmm1
jbe 0x14004d7f4
movd xmm3, dword [r13 + 0xc]
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, dword [rbx]
cvttss2si esi, xmm0
movd xmm2, dword [r13 + 8]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
mulss xmm1, dword [rbx + 4]
cvttss2si r14d, xmm1
mulss xmm3, dword [rbx + 8]
cvttss2si r12d, xmm3
mulss xmm2, dword [rbx + 0xc]
cvttss2si r13d, xmm2
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, r13d
cdq
sub eax, edx
sar eax, 1
sub r14d, eax
mov rdx, qword [rbp + 0x50]
cmp rdx, qword [rbp + 0x58]
je 0x14004d776
mov eax, dword [rbp + 0x28]
mov dword [rdx], eax
add qword [rbp + 0x50], 4
jmp 0x14004d783
lea r8, [rbp + 0x28]
lea rcx, [rbp + 0x48]
call fcn.140050990
movsd xmm0, qword [rbp + 0x60]
cvtpd2ps xmm0, xmm0
movss dword [rsp + 0x50], xmm0
mov rdx, qword [rbp + 0x38]
cmp rdx, qword [rbp + 0x40]
je 0x14004d7a7
movss dword [rdx], xmm0
add qword [rbp + 0x38], 4
jmp 0x14004d7b5
lea r8, [rsp + 0x50]
lea rcx, [rbp + 0x30]
call fcn.140050990
mov dword [rbp + 0x68], esi
mov dword [rbp + 0x6c], r14d
mov dword [rbp + 0x70], r12d
mov dword [rbp + 0x74], r13d
mov rdx, qword [rbp + 0x18]
cmp rdx, qword [rbp + 0x20]
je 0x14004d7dc
movups xmm0, xmmword [rbp + 0x68]
movups xmmword [rdx], xmm0
add qword [rbp + 0x18], 0x10
jmp 0x14004d7e9
lea r8, [rbp + 0x68]
lea rcx, [rbp + 0x10]
call fcn.140050800
xor r12d, r12d
mov r13, qword [rbp - 0x60]
mov rsi, qword [rbp - 0x68]
lea rcx, [rbp + 0x90]
call qword [sym.imp.opencv_world481.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
mov rcx, qword [rsi]
movsxd rax, dword [rcx + rdi + 0xc]
lea rbx, [rbx + rax*4]
cmp r15d, dword [rcx + rdi + 8]
jl 0x14004d600
mov r14, qword [rsp + 0x58]
inc r14
mov qword [rsp + 0x58], r14
add rdi, 0x60
mov r8, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, r8
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r14, rdx
jb 0x14004d5d3
xorps xmm8, xmm8
movsd xmm10, qword [0x1400cf298]
movaps xmm7, xmm10
mov eax, dword [r13 + 0xc]
cdq
sub eax, edx
sar eax, 1
mov r12d, eax
mov eax, dword [r13 + 8]
cdq
sub eax, edx
sar eax, 1
mov r15d, eax
mov rsi, qword [rbp + 0x18]
mov r14, qword [rbp + 0x10]
sub rsi, r14
sar rsi, 4
test rsi, rsi
je 0x14004dd38
lea rdi, [r14 + 0xc]
movsd xmm9, qword [0x1400cf238]
mov eax, dword [rdi - 4]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
add ebx, dword [rdi - 0xc]
mov eax, dword [rdi]
cdq
sub eax, edx
sar eax, 1
add eax, dword [rdi - 8]
sub eax, r15d
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
sub ebx, r12d
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x14004d8fd
xorps xmm0, xmm0
sqrtsd xmm0, xmm6
jmp 0x14004d905
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
comisd xmm7, xmm0
jbe 0x14004d913
movaps xmm7, xmm0
movups xmm8, xmmword [rdi - 0xc]
add rdi, 0x10
sub rsi, 1
jne 0x14004d8a5
comisd xmm10, xmm7
jbe 0x14004dd38
movups xmmword [0x140108f88], xmm8
movq rsi, xmm8
mov rax, rsi
shr rax, 0x20
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp + 0xf0], xmm0
movdqa xmm1, xmmword [0x1400cf3a0]
movups xmmword [rbp + 0x100], xmm1
xor r14d, r14d
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x60], 0x3010000
mov qword [rsp + 0x68], r13
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rdi, xmm0
mov r8, rdi
shr r8, 0x20
add r8d, eax
shl r8, 0x20
lea ecx, [rdi + rsi]
or r8, rcx
mov rdx, rax
shl rdx, 0x20
mov eax, esi
or rdx, rax
mov dword [rsp + 0x30], r14d
mov dword [rsp + 0x28], 8
mov dword [rsp + 0x20], 1
lea r9, [rbp + 0xf0]
lea rcx, [rsp + 0x60]
call qword [sym.imp.opencv_world481.dll_void___cdecl_cv::rectangle_class_cv::_InputOutputArray_const____ptr64__class_cv::Point__int___class_cv::Point__int___class_cv::Scalar__double__const____ptr64__int__int__int_]
movsd xmm2, qword [0x1400cf228]
movq r8, xmm2
lea rdx, str._.2f
lea rcx, [rbp + 0x68]
call qword [sym.imp.opencv_world481.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_cv::format_char_const____ptr64_]
nop
movdqa xmm0, xmmword [0x1400cf8c0]
movups xmmword [rbp + 0xf0], xmm0
movdqa xmm1, xmmword [0x1400cf3a0]
movups xmmword [rbp + 0x100], xmm1
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x60], 0x3010000
mov qword [rsp + 0x68], r13
shl rbx, 0x20
mov r8d, esi
or r8, rbx
mov byte [rsp + 0x40], r14b
mov dword [rsp + 0x38], 8
mov dword [rsp + 0x30], 1
lea rax, [rbp + 0xf0]
mov qword [rsp + 0x28], rax
movsd xmm0, qword [0x1400cf220]
movsd qword [rsp + 0x20], xmm0
xor r9d, r9d
lea rdx, [rbp + 0x68]
lea rcx, [rsp + 0x60]
call qword [sym.imp.opencv_world481.dll_void___cdecl_cv::putText_class_cv::_InputOutputArray_const____ptr64__class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const____ptr64__class_cv::Point__int___int__double__class_cv::Scalar__double___int__int__bool_]
nop
mov rdx, qword [rbp + 0x80]
cmp rdx, 0xf
jbe 0x14004da9f
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004da9a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004da9a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b5934
mov rax, qword [r13 + 0x40]
mov ecx, dword [rax]
mov eax, dword [rax + 4]
mov dword [0x140108f98], eax
mov dword [0x140108f9c], ecx
mov dword [reloc.WS2_32.dll_getpeername], 5
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x14004db02
mov ecx, 2
call fcn.14004be20
bt eax, 0xf
jae 0x14004dae8
mov ecx, 1
call fcn.14004be20
shr eax, 0xf
and al, 1
jmp 0x14004daea
xor al, al
mov byte [0x140108f41], al
cmp byte [reloc.WS2_32.dll_accept], 0
jne 0x14004db02
mov r14, qword [rbp + 0x10]
jmp 0x14004dd51
mov ecx, 2
call fcn.14004be20
bt eax, 0xf
jae 0x14004dd32
mov ecx, 6
call fcn.14004be20
bt eax, 0xf
jae 0x14004dd24
mov r8d, dword [0x1400e0754]
mov ecx, r8d
imul ecx, edi
mov eax, 0x51eb851f
imul ecx
mov r10d, edx
sar r10d, 5
mov ecx, r10d
shr ecx, 0x1f
add r10d, ecx
movdqa xmm0, xmm8
psrldq xmm0, 0xc
movd r9d, xmm0
imul r8d, r9d
mov eax, 0x51eb851f
imul r8d
mov r8d, edx
sar r8d, 5
mov ecx, r8d
shr ecx, 0x1f
add r8d, ecx
sub edi, r10d
mov eax, edi
cdq
sub eax, edx
sar eax, 1
lea r11d, [rsi + rax]
sub r9d, r8d
mov eax, r9d
cdq
sub eax, edx
sar eax, 1
psrldq xmm8, 4
movd ecx, xmm8
add eax, ecx
cmp r12d, r11d
jl 0x14004dd16
lea ecx, [r11 + r10]
cmp r12d, ecx
jg 0x14004dd16
cmp r15d, eax
jl 0x14004dd16
add eax, r8d
cmp r15d, eax
jg 0x14004dd16
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14004dd16
mov dword [rbp + 0xf0], r14d
mov qword [rbp + 0xfc], r14
mov dword [rbp + 0xf8], r14d
mov dword [rbp + 0x104], 2
mov edx, 0x1000
xor ecx, ecx
mov r9d, 0x40
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x14004dc7b
movups xmm0, xmmword [0x140109088]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140109098]
movsd qword [rax + 0x10], xmm1
mov ecx, dword [0x1401090a0]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x1401090a4]
mov word [rax + 0x1c], cx
mov r8d, Ordinal_45
lea rdx, [rbp + 0xf0]
mov ecx, 1
call rbx
xor edx, edx
mov r8d, 0x1000
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov qword [rsp + 0x58], 5
lea rcx, [rsp + 0x58]
call fcn.1400500e0
mov dword [rbp + 0x104], 4
mov edx, 0x1000
xor ecx, ecx
mov r9d, 0x40
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbx, rax
test rax, rax
je 0x14004dd16
movups xmm0, xmmword [0x140109088]
movups xmmword [rax], xmm0
movsd xmm1, qword [0x140109098]
movsd qword [rax + 0x10], xmm1
mov edx, dword [0x1401090a0]
mov dword [rax + 0x18], edx
movzx edx, word [0x1401090a4]
mov word [rax + 0x1c], dx
mov r8d, Ordinal_45
lea rdx, [rbp + 0xf0]
mov ecx, 1
call rbx
xor edx, edx
mov r8d, 0x1000
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x8000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov al, 1
mov byte [0x140108f41], al
mov r14, qword [rbp + 0x10]
jmp 0x14004dd51
xor al, al
mov byte [0x140108f41], al
mov r14, qword [rbp + 0x10]
jmp 0x14004dd51
mov r14, qword [rbp + 0x10]
jmp 0x14004dd4a
mov eax, dword [reloc.WS2_32.dll_getpeername]
dec eax
mov dword [reloc.WS2_32.dll_getpeername], eax
test eax, eax
jg 0x14004dd51
mov byte [0x140108f41], 0
test r14, r14
je 0x14004dda1
mov rdx, qword [rbp + 0x20]
sub rdx, r14
and rdx, 0xfffffffffffffff0
mov rax, r14
cmp rdx, 0x1000
jb 0x14004dd89
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004dd89
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1400b5934
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], 0
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x14004ddfa
mov rax, qword [rbp + 0x40]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004dde5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004dde5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b5934
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], 0
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x14004de3b
mov rdx, qword [rbp + 0x58]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004de36
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004de36
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400b5934
mov rcx, qword [rbp + 0x118]
xor rcx, rsp
call fcn.1400b5570
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret