Function at 0x140039ae0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x1d8]
sub rsp, 0x2b0
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140072010]
xor rax, rsp
mov qword [rbp + 0x100], rax
mov rdi, rdx
mov qword [rbp - 0x78], rdx
xor r12d, r12d
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a3c]
movss dword [0x140072b68], xmm0
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a4c]
movss dword [0x140072b6c], xmm0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140069ac8]
cvtpd2ps xmm0, xmm0
movss dword [0x140072b70], xmm0
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a60]
movss dword [0x140072b74], xmm0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a10]
movss dword [0x140072ac8], xmm0
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a2c]
movss dword [0x140072acc], xmm0
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x140069a48]
movss dword [0x140072ad0], xmm0
lea ecx, [r12 + 1]
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movd xmm15, eax
cvtdq2ps xmm15, xmm15
mulss xmm15, dword [0x140069a80]
movss dword [0x140072ad4], xmm15
movss xmm0, dword [0x140072af4]
movss xmm7, dword [0x140069a58]
subss xmm0, xmm7
movss xmm8, dword [0x140069b04]
mulss xmm0, xmm8
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
movsd xmm10, qword [0x140069ae0]
addsd xmm0, xmm10
movsd xmm11, qword [0x140069ad8]
mulsd xmm0, xmm11
xorps xmm4, xmm4
cvtsd2ss xmm4, xmm0
movss xmm14, dword [0x140072ac8]
subss xmm14, dword [0x140072b68]
mulss xmm14, xmm4
addss xmm14, dword [0x140072b68]
movss xmm13, dword [0x140072acc]
subss xmm13, dword [0x140072b6c]
mulss xmm13, xmm4
addss xmm13, dword [0x140072b6c]
movss xmm1, dword [0x140072ad0]
subss xmm1, dword [0x140072b70]
mulss xmm1, xmm4
addss xmm1, dword [0x140072b70]
movss dword [rsp + 0x40], xmm1
subss xmm15, dword [0x140072b74]
mulss xmm15, xmm4
addss xmm15, dword [0x140072b74]
cmp byte [0x1400722f4], r12b
jne 0x140039d48
mov ecx, dword [0x1400722f8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x78], xmm1
mov qword [rbp + 0x88], r12
movdqu xmmword [rbp + 0x48], xmm1
mov qword [rbp + 0x58], r12
mov r9, r12
mov qword [rbp - 0x70], r12
mov r8, qword [rdi]
mov rcx, qword [rdi + 8]
sub rcx, r8
movabs r13, 0x2aaaaaaaaaaaaaab
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x140039ff8
mov r14, r12
movsd xmm6, qword [0x140069ab8]
mov rbx, qword [r8 + r14 + 0x10]
mov r13d, r12d
cmp dword [r8 + r14 + 8], 0
jle 0x140039fbf
xorps xmm0, 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
movups xmmword [rbp + 0xf0], xmm0
lea rdx, [r14 + r8]
mov dword [rsp + 0x64], 0x80000000
mov dword [rsp + 0x68], 0x7fffffff
mov dword [rsp + 0x6c], r13d
lea eax, [r13 + 1]
mov r13d, eax
mov dword [rsp + 0x70], eax
lea r9, [rsp + 0x64]
lea r8, [rsp + 0x6c]
lea rcx, [rbp - 0x30]
call qword [sym.imp.opencv_world452.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 [rdi]
mov ecx, dword [r14 + rax + 0xc]
mov dword [rsp + 0x74], 5
mov dword [rsp + 0x78], ecx
mov dword [rsp + 0x7c], 0x80000000
mov dword [rbp - 0x80], 0x7fffffff
lea r9, [rsp + 0x74]
lea r8, [rsp + 0x7c]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.opencv_world452.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 - 0x30]
call qword [sym.imp.opencv_world452.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
mov qword [rbp + 0x90], 0
call qword [sym.imp.opencv_world452.dll_class_cv::_InputOutputArray_const____ptr64___cdecl_cv::noArray_void_]
mov qword [rbp - 0x58], 0
mov dword [rbp - 0x68], 0x1010000
lea rcx, [rbp + 0xa0]
mov qword [rbp - 0x60], rcx
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x90]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [rbp + 0x98]
xor edx, edx
lea rcx, [rbp - 0x68]
call qword [sym.imp.opencv_world452.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_]
movsd xmm4, qword [rbp + 0x98]
comisd xmm4, xmm6
jbe 0x140039f97
movd xmm3, dword [0x140072c5c]
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm3
mulss xmm0, dword [rbx]
cvttss2si edi, xmm0
movd xmm2, dword [0x140072c58]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
mulss xmm1, dword [rbx + 4]
cvttss2si esi, xmm1
mulss xmm3, dword [rbx + 8]
cvttss2si r15d, xmm3
mulss xmm2, dword [rbx + 0xc]
cvttss2si r12d, xmm2
mov eax, r15d
cdq
sub eax, edx
sar eax, 1
sub edi, eax
mov eax, r12d
cdq
sub eax, edx
sar eax, 1
sub esi, eax
cvtpd2ps xmm0, xmm4
movss dword [rsp + 0x60], xmm0
mov rdx, qword [rbp + 0x80]
cmp rdx, qword [rbp + 0x88]
je 0x140039f44
movss dword [rdx], xmm0
add qword [rbp + 0x80], 4
jmp 0x140039f52
lea r8, [rsp + 0x60]
lea rcx, [rbp + 0x78]
call fcn.14004e360
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x4c], esi
mov dword [rsp + 0x50], r15d
mov dword [rsp + 0x54], r12d
mov rdx, qword [rbp + 0x50]
cmp rdx, qword [rbp + 0x58]
je 0x140039f82
mov dword [rdx], edi
mov dword [rdx + 4], esi
mov dword [rdx + 8], r15d
mov dword [rdx + 0xc], r12d
add qword [rbp + 0x50], 0x10
jmp 0x140039f90
lea r8, [rsp + 0x48]
lea rcx, [rbp + 0x48]
call fcn.14004e120
xor r12d, r12d
mov rdi, qword [rbp - 0x78]
lea rcx, [rbp + 0xa0]
call qword [sym.imp.opencv_world452.dll_public:_void___cdecl_cv::Mat::destructor_void____ptr64]
mov r8, qword [rdi]
movsxd rax, dword [r14 + r8 + 0xc]
lea rbx, [rbx + rax*4]
cmp r13d, dword [r14 + r8 + 8]
jl 0x140039db4
mov r9, qword [rbp - 0x70]
inc r9
mov qword [rbp - 0x70], r9
add r14, 0x60
mov rcx, qword [rdi + 8]
sub rcx, r8
movabs r13, 0x2aaaaaaaaaaaaaab
mov rax, r13
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x140039da0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x60], xmm1
mov qword [rbp + 0x70], r12
mov dword [rsp + 0x30], r12d
movss xmm0, dword [0x140069aa4]
movss dword [rsp + 0x28], xmm0
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
movss xmm9, dword [0x140069a34]
movaps xmm3, xmm9
movaps xmm2, xmm9
lea rdx, [rbp + 0x78]
lea rcx, [rbp + 0x48]
call qword [sym.imp.opencv_world452.dll_void___cdecl_cv::dnn::dnn4_v20210301::NMSBoxes_class_std::vector_class_cv::Rect__int___class_std::allocator_class_cv::Rect__int____const____ptr64__class_std::vector_float__class_std::allocator_float___const____ptr64__float__float__class_std::vector_int__class_std::allocator_int______ptr64__float__int_]
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x30], xmm1
mov qword [rbp + 0x40], r12
mov rbx, r12
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
sub rax, rcx
sar rax, 2
test rax, rax
je 0x14003a25e
movss xmm10, dword [0x140069a7c]
movss xmm11, dword [0x140069a50]
movss xmm12, dword [0x140069a24]
movsxd rax, dword [rcx + rbx*4]
shl rax, 4
add rax, qword [rbp + 0x48]
mov edi, dword [rax]
mov esi, dword [rax + 4]
mov r14d, dword [rax + 8]
mov r15d, dword [rax + 0xc]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jns 0x14003a0a8
inc eax
sar eax, 1
add eax, 0xffffff60
add eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x48], xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jns 0x14003a0cf
inc eax
sar eax, 1
add eax, 0xffffff60
add eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x4c], xmm0
movd xmm1, r14d
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x50], xmm1
movd xmm7, r15d
cvtdq2ps xmm7, xmm7
movss dword [rsp + 0x54], xmm7
movaps xmm6, xmm9
mov ecx, dword [0x140072304]
test ecx, ecx
je 0x14003a125
sub ecx, 1
je 0x14003a11f
cmp ecx, 1
jne 0x14003a129
movaps xmm6, xmm10
jmp 0x14003a129
movaps xmm6, xmm11
jmp 0x14003a129
movaps xmm6, xmm12
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xa0
movd xmm8, eax
cvtdq2ps xmm8, xmm8
mov eax, r14d
cdq
sub eax, edx
sar eax, 1
add eax, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm8, xmm0
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xa0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm7, xmm6
movd xmm0, esi
cvtdq2ps xmm0, xmm0
addss xmm7, xmm0
addss xmm1, xmm7
comiss xmm8, xmm14
jbe 0x14003a1b4
movss xmm0, dword [rsp + 0x40]
addss xmm0, xmm14
comiss xmm8, xmm0
jae 0x14003a1b4
comiss xmm1, xmm13
jbe 0x14003a1b4
movaps xmm0, xmm15
addss xmm0, xmm13
comiss xmm1, xmm0
jb 0x14003a220
movaps xmm6, xmm8
unpcklps xmm6, xmm1
movsd qword [rsp + 0x58], xmm6
movups xmm7, xmmword [rsp + 0x48]
mov rdx, qword [rbp + 0x38]
cmp rdx, qword [rbp + 0x40]
je 0x14003a1df
movups xmmword [rdx], xmm7
movsd qword [rdx + 0x10], xmm6
add qword [rbp + 0x38], 0x18
jmp 0x14003a1ed
lea r8, [rsp + 0x48]
lea rcx, [rbp + 0x30]
call fcn.14004df00
mov rdx, qword [0x140072ce0]
cmp rdx, qword [0x140072ce8]
je 0x14003a20f
movups xmmword [rdx], xmm7
movsd qword [rdx + 0x10], xmm6
add qword [0x140072ce0], 0x18
jmp 0x14003a220
lea r8, [rsp + 0x48]
lea rcx, [0x140072cd8]
call fcn.14004df00
inc rbx
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x60]
sub rax, rcx
sar rax, 2
cmp rbx, rax
jb 0x14003a081
movss xmm7, dword [0x140069a58]
movss xmm8, dword [0x140069b04]
movsd xmm10, qword [0x140069ae0]
movsd xmm11, qword [0x140069ad8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r11d, eax
mov r8d, ebx
mov r9d, r12d
mov rcx, qword [rbp + 0x38]
mov rdi, qword [rbp + 0x30]
sub rcx, rdi
mov rax, r13
imul rcx
mov r10, rdx
sar r10, 2
mov rcx, r10
shr rcx, 0x3f
add r10, rcx
je 0x14003a33d
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mov eax, r11d
cdq
sub eax, edx
sar eax, 1
movd xmm5, eax
cvtdq2ps xmm5, xmm5
mov rdx, rdi
nop dword [rax]
nop dword [rax + rax]
movsd xmm3, qword [rdx + 0x10]
movaps xmm1, xmm4
subss xmm1, xmm3
cvttss2si ecx, xmm1
movaps xmm2, xmm5
movaps xmm0, xmm3
shufps xmm0, xmm0, 0x55
subss xmm2, xmm0
cvttss2si eax, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm1
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm0
addsd xmm0, xmm1
sqrtpd xmm0, xmm0
cvttsd2si eax, xmm0
cmp eax, r8d
jge 0x14003a327
movups xmm0, xmmword [rdx]
movups xmmword [rbp - 0x50], xmm0
movsd qword [rbp - 0x40], xmm3
cmovge eax, r8d
mov r8d, eax
inc r9d
add rdx, 0x18
movsxd rax, r9d
cmp rax, r10
jb 0x14003a2d0
cmp byte [0x1400722e1], 0
je 0x14003a40a
cmp r8d, ebx
je 0x14003a40a
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp - 0x40]
cvttss2si ecx, xmm0
mov eax, r11d
cdq
sub eax, edx
sar eax, 1
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
subss xmm0, dword [rbp - 0x3c]
cvttss2si eax, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm1, ecx
mulsd xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, xmm0
addsd xmm0, xmm1
sqrtpd xmm0, xmm0
cvttsd2si ebx, xmm0
movss xmm1, dword [0x140072af4]
subss xmm1, xmm7
mulss xmm1, xmm8
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
addsd xmm0, xmm10
mulsd xmm0, xmm11
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
xorps xmm3, xmm3
cvtsi2ss xmm3, dword [0x1400722e8]
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [0x1400722e4]
subss xmm3, xmm2
mulss xmm3, xmm1
addss xmm3, xmm2
cvttss2si eax, xmm3
cdq
sub eax, edx
sar eax, 1
cmp ebx, eax
jge 0x14003a40a
lea rcx, [rbp - 0x50]
call fcn.1400393a0
mov rdi, qword [rbp + 0x30]
test rdi, rdi
je 0x14003a46e
mov rcx, qword [rbp + 0x40]
sub rcx, rdi
mov rax, r13
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 3
mov rax, rdi
cmp rdx, 0x1000
jb 0x14003a45a
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003a45a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.14004ed20
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r12
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x14003a4c3
mov rax, qword [rbp + 0x70]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a4b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003a4b2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004ed20
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x60], xmm0
mov qword [rbp + 0x70], r12
mov rcx, qword [rbp + 0x48]
test rcx, rcx
je 0x14003a510
mov rdx, qword [rbp + 0x58]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a4ff
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003a4ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004ed20
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x14003a554
mov rdx, qword [rbp + 0x88]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003a54f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14003a54f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14004ed20
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14004ec30
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret