Function at 0x1400465a0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xd8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
mov rax, qword [0x1400aa010]
xor rax, rsp
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x34], 0
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], 0
mov r15d, 0xf
mov qword [rbp + 0x18], r15
mov byte [rbp], 0
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov qword [rsp + 0x60], rax
mov qword [rbp - 8], rax
mov rdx, qword [0x1400ab230]
sub rdx, qword [0x1400ab228]
sar rdx, 5
test rdx, rdx
je 0x1400466a4
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x140046f3a
lea rcx, [rbp - 0x18]
call fcn.1400659b0
mov rdi, qword [0x1400ab230]
mov rdx, qword [0x1400ab228]
sub rdi, rdx
mov r8, rdi
mov r14, qword [rbp - 0x18]
mov rcx, r14
call sub.VCRUNTIME140.dll_memmove
and rdi, 0xffffffffffffffe0
add rdi, r14
mov qword [rbp - 0x10], rdi
mov rax, qword [rbp - 8]
mov qword [rsp + 0x60], rax
jmp 0x1400466ac
mov rdi, qword [rbp - 0x10]
mov r14, qword [rbp - 0x18]
mov qword [rsp + 0x38], rdi
call fcn.14005eea0
cmp byte [rax + 0xa8], 0
je 0x140046733
mov ecx, 4
call fcn.14000e9b0
test al, al
jne 0x140046733
mov rax, qword [0x1400ab088]
cmp dword [rax + 0x1c5c], 0
jne 0x140046733
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
call fcn.14005f4c0
cmp rbx, qword [rax + 0x18]
jne 0x140046733
call fcn.14005eea0
movsxd rcx, dword [rax + 0x138]
lea rsi, [0x140079f60]
mov ecx, dword [rsi + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
call fcn.14005eea0
movsxd rcx, dword [rax + 0x13c]
mov ecx, dword [rsi + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, bx
jne 0x14004672f
test ax, ax
je 0x140046733
mov bl, 1
jmp 0x140046735
xor bl, bl
call fcn.14005eea0
movzx eax, byte [rax + 0xa9]
mov byte [rsp + 0x30], al
test bl, bl
je 0x140046e61
movss xmm11, dword [0x14009ce78]
movaps xmm7, xmm11
xorps xmm8, xmm8
xorps xmm10, xmm10
mov esi, 0x2d
xorps xmm9, xmm9
cmp r14, rdi
je 0x140046ba8
lea r13, [r14 + 0x10]
mov qword [rsp + 0x50], r13
movss xmm13, dword [0x14009ce0c]
movss xmm12, dword [0x14009ccd8]
nop
call fcn.14005f110
mov ecx, dword [rax + 0xe4]
add rcx, qword [r13]
call fcn.140063280
movaps xmm6, xmm0
call fcn.14005f110
mov ecx, dword [rax + 0xe8]
add rcx, qword [r13]
call fcn.140063280
mulss xmm6, xmm13
divss xmm6, xmm0
call fcn.14005f110
mov ebx, dword [rax + 0xf0]
call fcn.14005f110
mov ecx, dword [rax + 0xec]
add rcx, rbx
add rcx, qword [r13]
call fcn.1400631f0
mov esi, eax
xor edi, edi
lea ebx, [rdi + 0x60]
nop dword [rax]
call fcn.14005eea0
cmp dword [rax + rbx], esi
je 0x140046807
inc edi
add rbx, 4
cmp edi, 6
jb 0x1400467f0
xor edi, edi
call fcn.14005f110
mov ecx, dword [rax + 0x13c]
add rcx, qword [r13]
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x68]
call fcn.1400010b0
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x68]
call fcn.14003dcf0
nop
call fcn.14005f110
mov ecx, dword [rax + 0x144]
add rcx, qword [r13]
call fcn.140063320
mov byte [rsp + 0x31], al
call fcn.14005f4c0
mov rcx, qword [r13 - 0x10]
cmp rcx, qword [rax + 0x58]
je 0x140046b43
mov rax, qword [rsp + 0x50]
cmp qword [rax - 8], 0
je 0x140046b43
cmp qword [rax], 0
je 0x140046b43
test rcx, rcx
je 0x140046b43
lea rbx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
setae r12b
mov r15, qword [rbp - 0x38]
cmovae rbx, r15
mov r14, qword [rbp - 0x28]
cmp r14, 1
jb 0x1400468f4
lea rsi, [r14 + rbx]
mov r8, r14
mov edx, 0x2d
mov rcx, rbx
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x1400468f4
cmp byte [rax], 0x2d
jne 0x1400468cc
xor ecx, ecx
jmp 0x1400468d1
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x140046976
inc rax
mov r8, rsi
sub r8, rax
mov edx, 0x2d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x1400468c3
mov rax, 0xffffffffffffffff
cmp rax, 3
jne 0x140046989
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xor ebx, ebx
mov qword [rbp - 0x78], rbx
mov qword [rbp - 0x70], rbx
mov r8, rax
cmp r14, rax
cmovb r8, r14
lea rdx, [rbp - 0x38]
test r12b, r12b
cmovne rdx, r15
lea rcx, [rsp + 0x78]
call fcn.140064190
mov r8d, dword [rsp + 0x34]
or r8d, 3
mov dword [rsp + 0x34], r8d
lea rax, [rsp + 0x78]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
cmovae rax, rcx
cmp qword [rbp - 0x78], 3
jne 0x140046997
cmp byte [rax], 0x30
jne 0x14004697b
cmp byte [rax + 1], 0x30
jne 0x14004697b
cmp byte [rax + 2], 0x30
jne 0x14004697b
mov eax, ebx
jmp 0x140046980
sub rax, rbx
jmp 0x1400468fb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x140046997
lea esi, [rax + 2]
jmp 0x14004699c
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x78]
mov r8d, dword [rsp + 0x34]
mov esi, 1
test r8b, 1
je 0x1400469de
and r8d, 0xfffffffe
mov dword [rsp + 0x34], r8d
cmp rdx, 0x10
jb 0x1400469de
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400469d9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c7b
call fcn.140071050
call fcn.14005f110
mov ecx, dword [rax + 0x100]
mov r12, qword [rsp + 0x50]
add rcx, qword [r12]
call fcn.140062b20
mov r14, rax
call fcn.14005f110
mov ebx, dword [rax + 0x100]
call fcn.14005f4c0
mov rcx, qword [rax + 0x80]
add rcx, rbx
call fcn.140062b20
mov r15, rax
call fcn.14005f110
mov edx, dword [rax + 0x140]
mov rcx, qword [r12]
add rcx, rdx
call fcn.1400631f0
mov ebx, eax
cmp qword [r12 - 8], 0
je 0x140046b43
ucomiss xmm6, xmm9
jp 0x140046a4d
je 0x140046b43
cmp esi, 2
jne 0x140046a5d
cmp byte [rsp + 0x30], 0
jne 0x140046b43
cmp byte [rsp + 0x31], 2
jne 0x140046a76
call fcn.14005eea0
cmp byte [rax + 0xac], 0
jne 0x140046b43
cmp qword [r12 - 8], 0
je 0x140046b43
cmp ebx, 0x1d4dc
jne 0x140046aa5
cmp esi, 2
jne 0x140046aa5
call fcn.14005eea0
cmp byte [rax + 0xa0], 0
je 0x140046aa5
test edi, edi
je 0x140046b43
cmp r14, r15
je 0x140046b43
lea rdx, [r13 - 0x10]
lea rcx, [rbp - 0x48]
call fcn.1400464b0
call fcn.14005f4c0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x28]
mulss xmm0, xmm12
movss xmm6, dword [rbp - 0x48]
subss xmm6, xmm0
call fcn.14005f4c0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x24]
mulss xmm0, xmm12
movss xmm1, dword [rbp - 0x44]
subss xmm1, xmm0
mulss xmm1, xmm1
mulss xmm6, xmm6
addss xmm1, xmm6
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x140046b0e
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x140046b19
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
comiss xmm11, xmm6
jb 0x140046b43
comiss xmm7, xmm6
jb 0x140046b43
call fcn.14005eea0
movss xmm1, dword [rax + 0x144]
comiss xmm1, xmm6
jb 0x140046b43
movaps xmm7, xmm6
movups xmm8, xmmword [r13 - 0x10]
movups xmm10, xmmword [r13]
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x140046b7e
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046b79
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046c82
call fcn.140071050
mov r13, qword [rsp + 0x50]
add r13, 0x20
mov qword [rsp + 0x50], r13
lea rax, [r13 - 0x10]
cmp rax, qword [rsp + 0x38]
jne 0x140046790
mov esi, 0x2d
mov r14, qword [rbp - 0x18]
lea r15d, [rsi - 0x1e]
movdqa xmm0, xmm8
psrldq xmm0, 8
movq rbx, xmm0
test rbx, rbx
jne 0x140046bdc
movq rax, xmm8
test rax, rax
jne 0x140046bdc
movdqa xmm0, xmm10
psrldq xmm0, 8
movd eax, xmm0
test eax, eax
je 0x140046e65
call fcn.14005f110
mov ecx, dword [rax + 0x13c]
movq rdi, xmm10
add rcx, rdi
xorps xmm0, xmm0
movups xmmword [rsp + 0x68], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x68]
call fcn.1400010b0
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x68]
call fcn.14003dcf0
lea rcx, [rbp]
cmp rcx, rax
je 0x140046c42
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r15
mov byte [rax], 0
psrldq xmm1, 8
movq r15, xmm1
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140046c8e
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046c89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046c89
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140071050
call fcn.14005f110
mov ecx, dword [rax + 0x140]
add rcx, rdi
call fcn.1400631f0
mov edi, eax
call fcn.14005eea0
mov r8d, dword [rax + 0x12c]
test r8d, r8d
je 0x140046cec
sub r8d, 1
je 0x140046cc6
sub r8d, 1
je 0x140046ce4
cmp r8d, 1
je 0x140046cdc
mov ecx, edi
call fcn.140045e20
mov ecx, 0x32
test eax, eax
cmovne esi, ecx
mov r8d, esi
jmp 0x140046d04
mov r8d, 2
jmp 0x140046d04
mov r8d, 5
jmp 0x140046d04
mov ecx, edi
call fcn.140045e20
mov ecx, 0x33
mov r8d, 0x2e
test eax, eax
cmovne r8d, ecx
mov rdx, rbx
lea rcx, [rbp - 0x48]
call fcn.140043b50
movsd xmm0, qword [rax]
movsd qword [rsp + 0x38], xmm0
mov ecx, dword [rax + 8]
movss xmm0, dword [rsp + 0x38]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x3c]
movss dword [rsp + 0x54], xmm1
mov dword [rsp + 0x58], ecx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.140043cc0
call fcn.14005f4c0
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
call fcn.14005f4c0
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.14005eea0
movss xmm5, dword [rax + 0x140]
movaps xmm3, xmm9
movaps xmm2, xmm9
movss xmm8, dword [0x14009d270]
movss xmm4, dword [rbp - 0x48]
ucomiss xmm4, xmm9
jp 0x140046d9a
je 0x140046de6
comiss xmm4, xmm7
jbe 0x140046dc5
movaps xmm3, xmm7
subss xmm3, xmm4
xorps xmm3, xmm8
divss xmm3, xmm5
movaps xmm1, xmm3
addss xmm1, xmm7
movaps xmm0, xmm7
addss xmm0, xmm7
comiss xmm1, xmm0
jbe 0x140046dc5
movaps xmm3, xmm9
comiss xmm7, xmm4
jbe 0x140046de6
movaps xmm3, xmm4
subss xmm3, xmm7
divss xmm3, xmm5
movaps xmm0, xmm3
addss xmm0, xmm7
comiss xmm9, xmm0
jbe 0x140046de6
movaps xmm3, xmm9
movss xmm4, dword [rbp - 0x44]
ucomiss xmm4, xmm9
jp 0x140046df3
je 0x140046e3f
comiss xmm4, xmm6
jbe 0x140046e1e
movaps xmm2, xmm6
subss xmm2, xmm4
xorps xmm2, xmm8
divss xmm2, xmm5
movaps xmm1, xmm2
addss xmm1, xmm6
movaps xmm0, xmm6
addss xmm0, xmm6
comiss xmm1, xmm0
jbe 0x140046e1e
movaps xmm2, xmm9
comiss xmm6, xmm4
jbe 0x140046e3f
movaps xmm2, xmm4
subss xmm2, xmm6
divss xmm2, xmm5
movaps xmm0, xmm2
addss xmm0, xmm6
comiss xmm9, xmm0
jbe 0x140046e3f
movaps xmm2, xmm9
cvttss2si r8, xmm2
cvttss2si rdx, xmm3
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
jmp 0x140046e65
mov byte [rbp], 0
test r14, r14
je 0x140046eaa
mov rcx, qword [rsp + 0x60]
sub rcx, r14
and rcx, 0xffffffffffffffe0
mov rax, r14
cmp rcx, 0x1000
jb 0x140046e9e
add rcx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046e9e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, r14
call fcn.140071050
nop
cmp r15, 0x10
jb 0x140046ee5
lea rdx, [r15 + 1]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046ee0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046ee0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140071050
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.140070f60
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400623c0
nop