Function at 0x1400814d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov esi, dword [0x1401f9ed8]
xor ecx, ecx
mov ebp, dword [0x1401f9edc]
mov edi, r9d
mov r15d, dword [0x1401f9ee4]
movaps xmmword [rsp + 0x40], xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r14d, dword [0x1401d21c8]
mov ecx, eax
mov eax, dword [0x1401f9894]
test eax, eax
jne 0x14008153b
movss xmm2, dword [0x140195704]
movss dword [0x1401f85d0], xmm2
jmp 0x140081571
cmp eax, 1
jne 0x140081552
movss xmm2, dword [0x1401956e8]
movss dword [0x1401f85d0], xmm2
jmp 0x140081571
cmp eax, 2
jne 0x140081569
movss xmm2, dword [0x1401956b8]
movss dword [0x1401f85d0], xmm2
jmp 0x140081571
movss xmm2, dword [0x1401f85d0]
mov eax, ecx
movd xmm0, edi
cdq
lea ecx, [rbp - 0xaf]
cvtdq2ps xmm0, xmm0
sub eax, edx
sar eax, 1
add ecx, eax
mov ebx, eax
divss xmm0, xmm2
movd xmm1, ecx
lea rcx, [rsp + 0x30]
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si edi, xmm1
call qword [sym.imp.USER32.dll_GetCursorPos]
mov eax, esi
mov ecx, 2
cdq
lea esi, [r15 - 0xaa]
sub eax, edx
sub edi, ebx
sar eax, 1
add esi, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, reloc.WLDAP32.dll_Ordinal_26
test ax, ax
jns 0x1400815e4
movdqa xmm0, xmmword [0x140195950]
lea ebx, [rcx + 0x40]
mov eax, dword [reloc.WS2_32.dll_accept]
lea ebp, [rcx + 0x18]
jmp 0x1400815fa
movdqa xmm0, xmmword [0x140195960]
mov ebx, reloc.WLDAP32.dll_Ordinal_60
mov eax, dword [reloc.WS2_32.dll_accept]
lea ebp, [rbx + 0x28]
cdq
and edx, 3
add eax, edx
sar eax, 2
sub ecx, eax
mov eax, esi
imul eax, esi
movdqu xmmword [0x1401f9df0], xmm0
movd xmm6, ecx
xorps xmm0, xmm0
mov ecx, edi
imul ecx, edi
cvtdq2ps xmm6, xmm6
add ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
ja 0x140081637
sqrtpd xmm0, xmm1
jmp 0x14008163f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
lea eax, [rsi + 0xaf]
xorps xmm3, xmm3
movd xmm2, eax
lea eax, [rdi + 0xaf]
cvtdq2ps xmm2, xmm2
cvtsd2ss xmm3, xmm0
xorps xmm0, xmm0
movd xmm1, eax
comiss xmm2, xmm0
cvtdq2ps xmm1, xmm1
jb 0x140081691
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm2
jb 0x140081691
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x140081691
movss xmm0, dword [0x140195814]
comiss xmm0, xmm1
jae 0x14008175c
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jb 0x14008175c
cvtps2pd xmm0, xmm6
mov dword [0x1401f9928], esi
mov dword [0x1401f9898], edi
movd xmm2, esi
movd xmm1, edi
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm1, xmm1
divsd xmm2, xmm0
divsd xmm1, xmm0
movss xmm0, dword [0x14019583c]
comiss xmm0, xmm3
jbe 0x14008175c
movzx eax, word [0x1401d21e0]
movzx edx, byte [reloc.WS2_32.dll_accept]
cmp al, 1
jne 0x1400816f7
cmp dl, al
jne 0x1400816f7
cvttsd2si r8, xmm1
jmp 0x140081714
test dl, dl
jne 0x140081708
cmp al, 1
jne 0x14008172f
cvttsd2si r8, xmm1
xor edx, edx
jmp 0x140081719
cmp dl, 1
jne 0x14008172f
test al, al
jne 0x14008172f
xor r8d, r8d
cvttsd2si rdx, xmm2
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140081748
cmp dword [reloc.WS2_32.dll_accept], 0x64
jne 0x14008175c
cmp dword [reloc.WS2_32.dll_accept], 0x64
je 0x14008175c
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x40]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret