Function at 0x140004360
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0xe0
movaps xmmword [rsp + 0x70], xmm13
movaps xmmword [rsp + 0x60], xmm14
mov rax, qword [0x140051040]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov ecx, 0x56
mov rdi, r9
movaps xmm13, xmm2
movaps xmm14, xmm1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140004671
movzx eax, byte [0x140051188]
cmp byte [rdi + 0x98], al
je 0x140004671
cmp byte [rdi + 0xb8], 0
jne 0x140004671
mov rdx, qword [0x140057908]
mov r9d, 4
mov rcx, qword [0x1400579c8]
add rdx, 0x294
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm8
movaps xmmword [rsp + 0xb0], xmm9
movaps xmmword [rsp + 0xa0], xmm10
movaps xmmword [rsp + 0x90], xmm11
movaps xmmword [rsp + 0x80], xmm12
mov qword [rsp + 0xf0], rbx
xor ebx, ebx
cmp byte [0x1400578ff], bl
mov qword [rsp + 0x20], rbx
je 0x140004470
lea r8, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140057908]
lea r8, [rsp + 0x40]
mov rcx, qword [0x1400579c8]
add rdx, 0x290
movss xmm11, dword [rsp + 0x48]
mov r9d, 4
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm12, dword [rsp + 0x40]
jmp 0x1400044b4
lea r8, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140057908]
lea r8, [rsp + 0x48]
mov rcx, qword [0x1400579c8]
add rdx, 0x290
movss xmm11, dword [rsp + 0x40]
mov r9d, 4
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm12, dword [rsp + 0x48]
movsd xmm1, qword [rdi + 0x40]
movss xmm3, dword [0x1400579f8]
movaps xmm0, xmm1
movss xmm2, dword [0x1400579fc]
movaps xmm8, xmm3
movss xmm6, dword [0x140057a00]
subss xmm8, xmm1
movss xmm1, dword [rdi + 0x40]
movaps xmm10, xmm2
subss xmm6, dword [rdi + 0x48]
shufps xmm0, xmm0, 0x55
subss xmm1, xmm3
subss xmm10, xmm0
movss xmm0, dword [rdi + 0x44]
subss xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
xorps xmm1, xmm1
mulss xmm10, xmm10
cvtss2sd xmm1, xmm0
mulss xmm8, xmm8
xorps xmm0, xmm0
mulsd xmm1, qword [0x14004a2a8]
addss xmm10, xmm8
mulss xmm6, xmm6
movaps xmm8, xmmword [rsp + 0xc0]
cvtpd2ps xmm9, xmm1
addss xmm10, xmm6
movaps xmm6, xmmword [rsp + 0xd0]
subss xmm9, xmm11
movss xmm11, dword [rdi + 0x48]
subss xmm11, dword [0x140057a00]
ucomiss xmm0, xmm10
ja 0x14000456a
xorps xmm0, xmm0
sqrtss xmm0, xmm10
jmp 0x140004573
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm11, xmm0
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_asinf
movss xmm3, dword [0x14004a7b0]
xorps xmm1, xmm1
movaps xmm11, xmmword [rsp + 0x90]
movaps xmm10, xmmword [rsp + 0xa0]
cvtss2sd xmm1, xmm0
movaps xmm0, xmm9
mulsd xmm1, qword [0x14004a2a8]
andps xmm0, xmm3
comiss xmm0, dword [0x14004a314]
cvtpd2ps xmm2, xmm1
movss xmm1, dword [0x14004a324]
subss xmm2, xmm12
movaps xmm12, xmmword [rsp + 0x80]
jb 0x1400045dd
movaps xmm9, xmm1
subss xmm9, xmm0
movaps xmm0, xmm2
andps xmm0, xmm3
comiss xmm0, dword [0x14004a31c]
jb 0x1400045f3
movaps xmm2, xmm1
subss xmm2, xmm0
mov rdx, qword [0x140057908]
lea r8, [rsp + 0x50]
mov rcx, qword [0x1400579c8]
mov r9d, 4
divss xmm2, xmm14
add rdx, 0x428
mov qword [rsp + 0x20], rbx
divss xmm9, xmm13
movss dword [rsp + 0x50], xmm2
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x140057908]
lea r8, [rsp + 0x40]
mov rcx, qword [0x1400579c8]
add rdx, 0x42c
mov r9d, 4
movss dword [rsp + 0x40], xmm9
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rbx, qword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0xb0]
mov rcx, rdi
call fcn.140003120
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.14003fee0
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x60]
add rsp, 0xe0
pop rdi
ret