Function at 0x140046260
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 [0x14009f010]
xor rax, rsp
mov qword [rbp + 0x20], rax
xor r13d, r13d
mov dword [rsp + 0x38], r13d
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
mov qword [rbp + 0x10], r13
mov r14d, 0xf
mov qword [rbp + 0x18], r14
mov byte [rbp], r13b
xor eax, eax
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x18], xmm1
mov qword [rsp + 0x40], rax
mov qword [rbp - 8], rax
mov rdx, qword [0x1400a0230]
sub rdx, qword [0x1400a0228]
sar rdx, 5
test rdx, rdx
je 0x140046360
movabs rax, 0x7ffffffffffffff
cmp rdx, rax
ja 0x140046a82
lea rcx, [rbp - 0x18]
call fcn.14005bb40
mov rdi, qword [0x1400a0230]
mov rdx, qword [0x1400a0228]
sub rdi, rdx
mov r8, rdi
mov rsi, qword [rbp - 0x18]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
and rdi, 0xffffffffffffffe0
add rdi, rsi
mov qword [rbp - 0x10], rdi
mov rax, qword [rbp - 8]
mov qword [rsp + 0x40], rax
jmp 0x140046368
mov rdi, qword [rbp - 0x10]
mov rsi, qword [rbp - 0x18]
mov qword [rsp + 0x38], rdi
call fcn.1400568c0
cmp byte [rax + 0x107], 0
je 0x1400463f1
mov ecx, 4
call fcn.14000e750
test al, al
jne 0x1400463f1
mov rax, qword [0x1400a0088]
cmp dword [rax + 0x1c5c], 0
jne 0x1400463f1
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rbx, rax
call fcn.140056f80
cmp rbx, qword [rax + 0x18]
jne 0x1400463f1
call fcn.1400568c0
movsxd rcx, dword [rax + 0x198]
lea r15, [0x14006fef0]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
call fcn.1400568c0
movsxd rcx, dword [rax + 0x19c]
mov ecx, dword [r15 + rcx*4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test bx, bx
jne 0x1400463ed
test ax, ax
je 0x1400463f1
mov bl, 1
jmp 0x1400463f3
xor bl, bl
call fcn.1400568c0
movzx eax, byte [rax + 0x108]
mov byte [rsp + 0x30], al
test bl, bl
je 0x1400469a9
movss xmm11, dword [0x140092d00]
movaps xmm10, xmm11
xorps xmm7, xmm7
movups xmmword [rsp + 0x78], xmm7
xorps xmm8, xmm8
movups xmmword [rbp - 0x78], xmm8
xorps xmm9, xmm9
cmp rsi, rdi
je 0x14004679c
lea r14, [rsi + 0x10]
movss xmm13, dword [0x140092c94]
movss xmm12, dword [0x140092b78]
nop dword [rax]
call fcn.140056bd0
mov ecx, dword [rax + 0xe4]
add rcx, qword [r14]
call fcn.140059460
movaps xmm6, xmm0
call fcn.140056bd0
mov ecx, dword [rax + 0xe8]
add rcx, qword [r14]
call fcn.140059460
mulss xmm6, xmm13
divss xmm6, xmm0
call fcn.140056bd0
mov ecx, dword [rax + 0x13c]
add rcx, qword [r14]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x48]
call fcn.140001070
lea rdx, [rbp - 0x38]
lea rcx, [rsp + 0x48]
call fcn.14003da30
nop
call fcn.140056bd0
mov ecx, dword [rax + 0x144]
add rcx, qword [r14]
call fcn.140059500
mov byte [rsp + 0x31], al
lea rdi, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
setae r12b
mov r15, qword [rbp - 0x38]
cmovae rdi, r15
mov rsi, qword [rbp - 0x28]
cmp rsi, 1
jb 0x140046537
lea rbx, [rsi + rdi]
mov r8, rsi
mov edx, 0x2d
mov rcx, rdi
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x140046537
cmp byte [rax], 0x2d
jne 0x14004650f
xor ecx, ecx
jmp 0x140046514
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x1400465af
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x140046506
mov rax, 0xffffffffffffffff
cmp rax, 3
jne 0x1400465c2
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
mov r8, rax
cmp rsi, rax
cmovb r8, rsi
lea rdx, [rbp - 0x38]
test r12b, r12b
cmovne rdx, r15
lea rcx, [rsp + 0x58]
call fcn.14005a440
or r13d, 3
lea rax, [rsp + 0x58]
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
cmovae rax, rcx
cmp qword [rsp + 0x68], 3
jne 0x1400465cc
cmp byte [rax], 0x30
jne 0x1400465b4
cmp byte [rax + 1], 0x30
jne 0x1400465b4
cmp byte [rax + 2], 0x30
jne 0x1400465b4
mov eax, ebx
jmp 0x1400465b9
sub rax, rdi
jmp 0x14004653e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1400465cc
mov dil, 1
jmp 0x1400465cf
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x58]
xor dil, dil
test r13b, 1
je 0x14004660c
and r13d, 0xfffffffe
cmp rdx, 0x10
jb 0x14004660c
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046607
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004686e
call fcn.1400671e0
call fcn.140056bd0
mov ecx, dword [rax + 0x100]
add rcx, qword [r14]
call fcn.140058d70
mov rsi, rax
call fcn.140056bd0
mov ebx, dword [rax + 0x100]
call fcn.140056f80
mov rcx, qword [rax + 0x80]
add rcx, rbx
call fcn.140058d70
mov rbx, rax
call fcn.140056bd0
mov edx, dword [rax + 0x140]
mov rcx, qword [r14]
add rcx, rdx
call fcn.1400593d0
cmp qword [r14 - 8], 0
je 0x140046744
ucomiss xmm6, xmm9
jp 0x140046671
je 0x140046744
cmp dil, 1
jne 0x140046682
cmp byte [rsp + 0x30], 0
jne 0x140046744
cmp byte [rsp + 0x31], 2
jne 0x14004669b
call fcn.1400568c0
cmp byte [rax + 0x10b], 0
jne 0x140046744
cmp rsi, rbx
je 0x140046744
lea rdx, [r14 - 0x10]
lea rcx, [rbp - 0x48]
call fcn.1400460f0
call fcn.140056f80
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rax + 0x28]
mulss xmm0, xmm12
movss xmm6, dword [rbp - 0x48]
subss xmm6, xmm0
call fcn.140056f80
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 0x140046704
xorps xmm6, xmm6
sqrtss xmm6, xmm1
jmp 0x14004670f
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
comiss xmm11, xmm6
jb 0x140046744
comiss xmm10, xmm6
jb 0x140046744
call fcn.1400568c0
movss xmm1, dword [rax + 0x1a4]
comiss xmm1, xmm6
jb 0x140046744
movaps xmm10, xmm6
movups xmm7, xmmword [r14 - 0x10]
movups xmmword [rsp + 0x78], xmm7
movups xmm8, xmmword [r14]
movups xmmword [rbp - 0x78], xmm8
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x14004677f
mov rcx, qword [rbp - 0x38]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004677a
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140046875
call fcn.1400671e0
add r14, 0x20
lea rax, [r14 - 0x10]
cmp rax, qword [rsp + 0x38]
jne 0x140046450
mov rsi, qword [rbp - 0x18]
mov r14d, 0xf
movdqa xmm0, xmm7
psrldq xmm0, 8
movq rax, xmm0
test rax, rax
jne 0x1400467cf
movq rax, xmm7
test rax, rax
jne 0x1400467cf
movdqa xmm0, xmm8
psrldq xmm0, 8
movd eax, xmm0
test eax, eax
je 0x1400469ad
call fcn.140056bd0
mov ecx, dword [rax + 0x13c]
movq rax, xmm8
add rcx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov r8d, 0x10
lea rdx, [rsp + 0x48]
call fcn.140001070
lea rdx, [rbp - 0x68]
lea rcx, [rsp + 0x48]
call fcn.14003da30
lea rcx, [rbp]
cmp rcx, rax
je 0x140046835
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], r14
mov byte [rax], 0
psrldq xmm1, 8
movq r14, xmm1
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140046881
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14004687c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14004687c
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.1400671e0
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.1400460f0
call fcn.140056f80
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm7, eax
cvtdq2ps xmm7, xmm7
call fcn.140056f80
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call fcn.1400568c0
movss xmm5, dword [rax + 0x1a0]
movaps xmm3, xmm9
movaps xmm2, xmm9
movss xmm8, dword [0x140092f20]
movss xmm4, dword [rbp - 0x48]
ucomiss xmm4, xmm9
jp 0x1400468e2
je 0x14004692e
comiss xmm4, xmm7
jbe 0x14004690d
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 0x14004690d
movaps xmm3, xmm9
comiss xmm7, xmm4
jbe 0x14004692e
movaps xmm3, xmm4
subss xmm3, xmm7
divss xmm3, xmm5
movaps xmm0, xmm3
addss xmm0, xmm7
comiss xmm9, xmm0
jbe 0x14004692e
movaps xmm3, xmm9
movss xmm4, dword [rbp - 0x44]
ucomiss xmm4, xmm9
jp 0x14004693b
je 0x140046987
comiss xmm4, xmm6
jbe 0x140046966
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 0x140046966
movaps xmm2, xmm9
comiss xmm6, xmm4
jbe 0x140046987
movaps xmm2, xmm4
subss xmm2, xmm6
divss xmm2, xmm5
movaps xmm0, xmm2
addss xmm0, xmm6
comiss xmm9, xmm0
jbe 0x140046987
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 0x1400469ad
mov byte [rbp], 0
test rsi, rsi
je 0x1400469f2
mov rcx, qword [rsp + 0x40]
sub rcx, rsi
and rcx, 0xffffffffffffffe0
mov rax, rsi
cmp rcx, 0x1000
jb 0x1400469e6
add rcx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400469e6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rdx, rcx
mov rcx, rsi
call fcn.1400671e0
nop
cmp r14, 0x10
jb 0x140046a2d
lea rdx, [r14 + 1]
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140046a28
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140046a28
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400671e0
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
call fcn.1400670f0
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.140058610
nop
int3