Function at 0x140001c70
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0xc0
mov rax, qword [0x14000a040]
xor rax, rsp
mov qword [rsp + 0x78], rax
cmp dword [0x14000a848], 1
movsd xmm0, qword [rdx + 0x74]
mov eax, dword [rdx + 0x7c]
mov qword [r11 + 0x18], rbx
mov rbx, rcx
movaps xmmword [r11 - 0x18], xmm6
xorps xmm6, xmm6
movaps xmmword [r11 - 0x28], xmm7
xorps xmm7, xmm7
movaps xmmword [r11 - 0x38], xmm8
xorps xmm8, xmm8
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
jl 0x140001d5b
cmp byte [0x14000a0f0], 0
je 0x140001d5b
movsxd r8, dword [0x14000a138]
lea rdx, [rsp + 0x30]
shl r8, 5
lea rcx, [0x14000a158]
add r8, qword [0x14000a140]
call fcn.1400029c0
mov rcx, qword [rax]
mov ecx, dword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001d5b
movss xmm3, dword [rbx + 0x44]
movss xmm7, dword [rsp + 0x44]
movaps xmm0, xmm3
mulss xmm0, dword [0x14000764c]
mulss xmm3, dword [0x140007608]
mulss xmm0, dword [rbx + 0x48]
mulss xmm3, dword [rbx + 0x48]
movss xmm8, dword [rsp + 0x40]
movss xmm2, dword [0x14000760c]
subss xmm2, dword [0x14000a0f8]
divss xmm7, xmm0
divss xmm8, xmm3
mulss xmm7, xmm2
mulss xmm8, xmm2
mov rdx, qword [rbx + 0x18]
lea r8, [rsp + 0x40]
mov rcx, qword [0x14000a858]
xor edi, edi
add rdx, 0x23d4
mov qword [rsp + 0x20], rdi
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp dword [rsp + 0x40], 1
jle 0x140001f1a
cmp byte [0x14000a0f1], dil
xorps xmm4, xmm4
movaps xmmword [rsp + 0x80], xmm9
xorps xmm5, xmm5
je 0x140001eef
mov rdx, qword [rbx + 0x18]
lea r8, [rsp + 0x40]
mov rcx, qword [0x14000a858]
add rdx, 0x1598
mov r9d, 0x10
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movups xmm0, xmmword [rsp + 0x40]
movups xmmword [rbx + 0x50], xmm0
mov rcx, qword [rbx + 0x50]
lea rax, [rcx - 1]
cmp rax, 0xfffe
ja 0x140001ee9
mov rax, qword [rbx + 0x58]
lea rcx, [rcx + rcx*2]
lea rcx, [rcx - 3]
mov qword [rsp + 0x20], rdi
mov r9d, 8
lea r8, [rsp + 0x40]
lea rdx, [rax + rcx*4]
mov rcx, qword [0x14000a858]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movsd xmm0, qword [rsp + 0x40]
lea r8, [rsp + 0x40]
mov rdx, qword [rbx + 0x18]
mov r9d, 4
movsd qword [rbx + 0x60], xmm0
add rdx, 0x1314
mov rcx, qword [0x14000a858]
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [rbx + 0x50]
cmp rax, qword [0x14000a890]
movss xmm9, dword [rsp + 0x40]
movss dword [rbx + 0x48], xmm9
je 0x140001ee9
movss xmm3, dword [rbx + 0x44]
movss xmm4, dword [0x14000a88c]
movaps xmm0, xmm3
subss xmm4, dword [rbx + 0x64]
mulss xmm0, dword [0x14000764c]
mov qword [0x14000a890], rax
movss xmm1, dword [rbx + 0x60]
movss xmm5, dword [0x14000a888]
movss xmm2, dword [0x14000a100]
subss xmm5, xmm1
mulss xmm2, dword [0x140007618]
mulss xmm3, dword [0x140007608]
mulss xmm0, xmm9
mulss xmm4, xmm2
mulss xmm5, xmm2
mulss xmm3, xmm9
divss xmm4, xmm0
movss xmm0, dword [rbx + 0x64]
movss dword [0x14000a88c], xmm0
movss dword [0x14000a888], xmm1
divss xmm5, xmm3
jmp 0x140001eef
xorps xmm5, xmm5
xorps xmm4, xmm4
ucomiss xmm4, xmm6
movaps xmm9, xmmword [rsp + 0x80]
jp 0x140001f0f
jne 0x140001f0f
ucomiss xmm5, xmm6
jp 0x140001f0f
jne 0x140001f0f
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x140001f21
addss xmm7, xmm4
addss xmm8, xmm5
jmp 0x140001f21
mov qword [0x14000a888], rdi
movaps xmm6, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0xe0]
cvttss2si ecx, xmm7
movaps xmm7, xmmword [rsp + 0xa0]
cvttss2si eax, xmm8
movaps xmm8, xmmword [rsp + 0x90]
test ecx, ecx
jne 0x140001f53
test eax, eax
je 0x140001f93
mov dword [rsp + 0x5c], eax
xorps xmm0, xmm0
mov rax, qword [0x14000a880]
mov qword [rsp + 0x50], rdi
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x64], 1
movdqu xmmword [rsp + 0x68], xmm0
test rax, rax
je 0x140001f93
mov r8d, 0x28
lea rdx, [rsp + 0x50]
mov ecx, 1
call rax
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.140005630
add rsp, 0xc0
pop rdi
ret