Function at 0x140001510
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rdi
push rbp
lea rbp, [r11 - 0x138]
sub rsp, 0x230
mov rax, qword [0x140061040]
xor rax, rsp
mov qword [rbp + 0x80], rax
cmp byte [0x1400d3be0], 0
mov rdi, qword [0x1400d43c8]
je 0x140001a38
mov qword [r11 + 0x18], r14
xor r14d, r14d
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
movaps xmmword [r11 - 0x38], xmm8
movss xmm8, dword [0x140059444]
movaps xmmword [r11 - 0x48], xmm9
movss xmm9, dword [0x1400594c8]
movaps xmmword [r11 - 0x58], xmm10
movss xmm10, dword [0x1400594c0]
movaps xmmword [r11 - 0x68], xmm11
movss xmm11, dword [0x140059430]
movaps xmmword [r11 - 0x78], xmm12
movss xmm12, dword [0x1400594cc]
movaps xmmword [r11 - 0x88], xmm13
movss xmm13, dword [0x140059454]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
movaps xmmword [r11 - 0x98], xmm14
movaps xmmword [r11 - 0xa8], xmm15
nop dword [rax + rax]
lea rdx, [rbp - 0x60]
mov rcx, rdi
call fcn.140002220
mov ecx, dword [0x1400d3c64]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
jne 0x140001606
mov ecx, dword [0x1400d3c68]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1400019b0
movsd xmm3, qword [rbp + 0x10]
xorps xmm0, xmm0
movss xmm14, dword [rbp + 0x18]
xorps xmm2, xmm2
xorps xmm6, xmm6
mov dword [rsp + 0x38], r14d
unpcklps xmm0, xmm6
movsd xmm2, xmm0
movss xmm0, dword [rsp + 0x38]
movlhps xmm2, xmm0
movaps xmm0, xmm14
movlhps xmm3, xmm0
cmpeqps xmm2, xmm3
movmskps eax, xmm2
and eax, 7
cmp al, 7
je 0x1400019b0
mov rdx, qword [rdi + 0x10]
lea r8, [rsp + 0x48]
mov rcx, qword [0x1400d3cb8]
add rdx, 0x10c8
cmp byte [0x1400d3c30], r14b
mov r9d, 4
mov dword [rsp + 0x48], r14d
mov qword [rsp + 0x20], r14
je 0x140001683
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
jmp 0x1400019bb
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp byte [0x1400d3c31], r14b
je 0x1400016a3
movss xmm0, dword [rsp + 0x48]
ucomiss xmm0, xmm6
jp 0x1400016a3
je 0x1400019bb
mov rdx, qword [0x1400d3cc0]
lea r8, [rsp + 0x48]
mov rcx, qword [0x1400d3cb8]
add rdx, 0x20d9868
mov r9d, 8
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rsp + 0x48]
lea r8, [rbp - 0x80]
mov rcx, qword [0x1400d3cb8]
mov r9d, 0xc
mov qword [rbp - 0x80], r14
mov dword [rbp - 0x78], r14d
lea rdx, [rbx + 0x3d0]
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x1400d3cb8]
lea rdx, [rbx + 0x60]
mov r9d, 0xc
mov qword [rsp + 0x70], r14
lea r8, [rsp + 0x70]
mov dword [rsp + 0x78], r14d
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rsp + 0x78]
movss xmm15, dword [rsp + 0x70]
subss xmm0, xmm14
movss xmm7, dword [rbp + 0x10]
movaps xmm1, xmm15
movss xmm2, dword [rsp + 0x74]
subss xmm1, xmm7
movss xmm6, dword [rbp + 0x14]
subss xmm2, xmm6
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140001781
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140001789
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm14, dword [rsp + 0x78]
subss xmm6, dword [rsp + 0x74]
subss xmm7, xmm15
divss xmm14, xmm0
divss xmm7, xmm0
movss dword [rbp - 0x68], xmm14
comiss xmm7, xmm11
divss xmm6, xmm0
jbe 0x1400017bf
addss xmm7, xmm9
comiss xmm7, xmm11
ja 0x1400017b4
comiss xmm10, xmm7
jbe 0x1400017d0
addss xmm7, xmm8
comiss xmm10, xmm7
ja 0x1400017c5
comiss xmm6, xmm8
jbe 0x1400017eb
nop word [rax + rax]
addss xmm6, xmm12
comiss xmm6, xmm8
ja 0x1400017e0
comiss xmm9, xmm6
jbe 0x1400017fc
addss xmm6, xmm13
comiss xmm9, xmm6
ja 0x1400017f1
movsd xmm3, qword [rbp - 0x80]
xorps xmm2, xmm2
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movsd xmm2, xmm0
movss xmm0, dword [rbp - 0x78]
movlhps xmm3, xmm0
movss xmm0, dword [rbp - 0x68]
movlhps xmm2, xmm0
subps xmm2, xmm3
comiss xmm2, xmm11
movaps xmm0, xmm2
movsd qword [rsp + 0x60], xmm2
shufps xmm0, xmm2, 0xaa
movss dword [rsp + 0x68], xmm0
jbe 0x140001851
nop word [rax + rax]
addss xmm2, xmm9
comiss xmm2, xmm11
movss dword [rsp + 0x60], xmm2
ja 0x140001840
comiss xmm10, xmm2
jbe 0x140001871
nop word [rax + rax]
addss xmm2, xmm8
comiss xmm10, xmm2
movss dword [rsp + 0x60], xmm2
ja 0x140001860
movss xmm0, dword [rsp + 0x64]
comiss xmm0, xmm8
jbe 0x140001891
nop dword [rax]
addss xmm0, xmm12
comiss xmm0, xmm8
ja 0x140001880
movss dword [rsp + 0x64], xmm0
comiss xmm9, xmm0
jbe 0x1400018b1
nop word [rax + rax]
addss xmm0, xmm13
comiss xmm9, xmm0
ja 0x1400018a0
movss dword [rsp + 0x64], xmm0
movsd xmm2, qword [rsp + 0x60]
movss xmm0, dword [rsp + 0x68]
movlhps xmm2, xmm0
addps xmm2, xmm3
comiss xmm2, xmm11
movaps xmm0, xmm2
movsd qword [rsp + 0x50], xmm2
shufps xmm0, xmm2, 0xaa
movss dword [rsp + 0x58], xmm0
jbe 0x1400018f1
nop dword [rax]
addss xmm2, xmm9
comiss xmm2, xmm11
movss dword [rsp + 0x50], xmm2
ja 0x1400018e0
comiss xmm10, xmm2
jbe 0x140001911
nop word [rax + rax]
addss xmm2, xmm8
comiss xmm10, xmm2
movss dword [rsp + 0x50], xmm2
ja 0x140001900
movss xmm0, dword [rsp + 0x54]
comiss xmm0, xmm8
jbe 0x140001931
nop dword [rax]
addss xmm0, xmm12
comiss xmm0, xmm8
ja 0x140001920
movss dword [rsp + 0x54], xmm0
comiss xmm9, xmm0
jbe 0x140001951
nop word [rax + rax]
addss xmm0, xmm13
comiss xmm9, xmm0
ja 0x140001940
movss dword [rsp + 0x54], xmm0
movsd xmm4, qword [rsp + 0x50]
xorps xmm0, xmm0
xorps xmm3, xmm3
mov dword [rsp + 0x44], r14d
xorps xmm1, xmm1
unpcklps xmm0, xmm1
movsd xmm3, xmm0
movss xmm0, dword [rsp + 0x44]
movlhps xmm3, xmm0
movss xmm0, dword [rsp + 0x58]
movlhps xmm4, xmm0
cmpeqps xmm3, xmm4
movmskps eax, xmm3
and eax, 7
cmp al, 7
je 0x1400019b0
mov rcx, qword [0x1400d3cb8]
lea r8, [rsp + 0x50]
mov r9d, 0xc
mov qword [rsp + 0x20], r14
lea rdx, [rbx + 0x3d0]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [0x1400d3be0], r14b
jne 0x1400015d0
movaps xmm15, xmmword [rsp + 0x190]
movaps xmm14, xmmword [rsp + 0x1a0]
movaps xmm13, xmmword [rsp + 0x1b0]
movaps xmm12, xmmword [rsp + 0x1c0]
movaps xmm11, xmmword [rsp + 0x1d0]
movaps xmm10, xmmword [rsp + 0x1e0]
movaps xmm9, xmmword [rsp + 0x1f0]
movaps xmm8, xmmword [rsp + 0x200]
movaps xmm7, xmmword [rsp + 0x210]
movaps xmm6, xmmword [rsp + 0x220]
mov r14, qword [rsp + 0x250]
mov rsi, qword [rsp + 0x248]
mov rbx, qword [rsp + 0x240]
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.14004fe20
mov rdi, qword [rsp + 0x258]
add rsp, 0x230
pop rbp
ret