Function at 0x140059140
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x90
mov esi, dword [0x1401d47d4]
xor ecx, ecx
mov ebp, dword [0x1401d47d0]
mov edi, r9d
mov r15d, dword [0x1401d47c8]
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov r14d, dword [0x1401d3040]
mov ecx, eax
mov eax, dword [0x1401d41e8]
test eax, eax
jne 0x1400591c0
movss xmm2, dword [0x140171a8c]
movss dword [0x1401d3060], xmm2
jmp 0x1400591f6
cmp eax, 1
jne 0x1400591d7
movss xmm2, dword [0x140171a68]
movss dword [0x1401d3060], xmm2
jmp 0x1400591f6
cmp eax, 2
jne 0x1400591ee
movss xmm2, dword [0x140171a28]
movss dword [0x1401d3060], xmm2
jmp 0x1400591f6
movss xmm2, dword [0x1401d3060]
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]
movsd xmm4, qword [0x140171a58]
mov eax, esi
cdq
lea esi, [r15 - 0xaa]
sub eax, edx
sub edi, ebx
sar eax, 1
xorps xmm2, xmm2
add esi, eax
mov ecx, 2
movd xmm6, edi
cvtdq2pd xmm6, xmm6
movd xmm5, esi
cvtdq2pd xmm5, xmm5
movaps xmm7, xmm6
movaps xmm0, xmm5
addsd xmm7, xmm4
divsd xmm0, qword [0x1401d40e8]
mulsd xmm7, qword [0x1401719d8]
movaps xmm8, xmm5
cvttsd2si eax, xmm0
movaps xmm0, xmm6
addsd xmm8, xmm4
divsd xmm0, qword [0x1401d40e8]
mulsd xmm8, qword [0x1401719d8]
movd xmm10, eax
cvttsd2si eax, xmm0
movaps xmm0, xmm5
subsd xmm5, xmm4
mulsd xmm0, qword [0x140171a18]
cvtdq2pd xmm10, xmm10
mulsd xmm5, qword [0x1401719f8]
addsd xmm8, xmm0
mulsd xmm10, qword [0x140171a38]
movaps xmm0, xmm6
mulsd xmm0, qword [0x140171a18]
subsd xmm6, xmm4
movd xmm9, eax
addsd xmm8, xmm5
cvtdq2pd xmm9, xmm9
mulsd xmm6, qword [0x1401719f8]
addsd xmm7, xmm0
mulsd xmm9, qword [0x140171a38]
addsd xmm10, xmm2
addsd xmm7, xmm6
addsd xmm9, xmm2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14005933a
movdqa xmm0, xmmword [0x140171d20]
mov ebx, 0x5a
movdqu xmmword [0x1401d46f0], xmm0
movss xmm0, dword [0x1401d3008]
lea ebp, [rbx - 0x28]
jmp 0x14005935a
movdqa xmm0, xmmword [0x140171d30]
mov ebx, reloc.WLDAP32.dll_Ordinal_60
movdqu xmmword [0x1401d46f0], xmm0
movss xmm0, dword [0x1401d2fc8]
lea ebp, [rbx + 0x28]
divss xmm0, dword [0x140171adc]
mov ecx, edi
mov eax, esi
imul ecx, edi
imul eax, esi
cvtps2pd xmm0, xmm0
add ecx, eax
movsd qword [0x1401d40e8], xmm0
xorps xmm0, xmm0
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
ja 0x140059390
sqrtpd xmm0, xmm1
jmp 0x140059398
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
lea eax, [rsi + 0xaf]
xorps xmm1, xmm1
movd xmm3, eax
lea eax, [rdi + 0xaf]
cvtdq2ps xmm3, xmm3
cvtsd2ss xmm1, xmm0
xorps xmm0, xmm0
movd xmm2, eax
comiss xmm3, xmm0
cvtdq2ps xmm2, xmm2
jb 0x1400593ea
movd xmm0, ebp
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jb 0x1400593ea
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
comiss xmm2, xmm0
jb 0x1400593ea
movss xmm0, dword [0x140171b9c]
comiss xmm0, xmm2
jae 0x1400594bd
movd xmm0, r14d
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x1400594bd
movss xmm0, dword [0x140171bd4]
comiss xmm0, xmm1
mov dword [0x1401d426c], esi
mov dword [0x1401d4268], edi
jbe 0x1400594bd
movzx eax, word [0x1401d2fc4]
movzx edx, byte [reloc.WS2_32.dll_accept]
cmp al, 1
jne 0x14005943a
cmp dl, al
jne 0x14005943a
addsd xmm7, xmm9
cvttsd2si r8d, xmm7
jmp 0x14005945c
test dl, dl
jne 0x140059450
cmp al, 1
jne 0x14005947c
addsd xmm7, xmm9
xor edx, edx
cvttsd2si r8d, xmm7
jmp 0x140059466
cmp dl, 1
jne 0x14005947c
test al, al
jne 0x14005947c
xor r8d, r8d
addsd xmm8, xmm10
cvttsd2si edx, xmm8
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]
movss xmm1, dword [0x140171b54]
test ax, ax
js 0x1400594a3
movss xmm0, dword [0x1401d2fc8]
ucomiss xmm0, xmm1
jp 0x1400594bd
jne 0x1400594bd
movss xmm0, dword [0x1401d3008]
ucomiss xmm0, xmm1
jp 0x1400594b2
je 0x1400594bd
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop rdi
ret