Function at 0x18003e4d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0xb8
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x78], xmm12
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmm10, xmm1
movaps xmmword [rax - 0x68], xmm11
movaps xmm11, xmm0
call fcn.180044630
mov eax, dword [rax + 0x28]
cdq
sub eax, edx
sar eax, 1
movd xmm9, eax
cvtdq2ps xmm9, xmm9
call fcn.180044630
mov eax, dword [rax + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm8, eax
cvtdq2ps xmm8, xmm8
call fcn.180044380
movss xmm12, dword [0x18005fc60]
xorps xmm2, xmm2
ucomiss xmm11, xmm2
movss xmm3, dword [rax + 0x84]
xorps xmm7, xmm7
xorps xmm6, xmm6
jp 0x18003e556
je 0x18003e5a9
comiss xmm11, xmm9
jbe 0x18003e586
movaps xmm7, xmm9
movaps xmm0, xmm9
subss xmm7, xmm11
addss xmm0, xmm9
xorps xmm7, xmm12
divss xmm7, xmm3
movaps xmm1, xmm7
addss xmm1, xmm9
comiss xmm1, xmm0
jbe 0x18003e586
xorps xmm7, xmm7
comiss xmm9, xmm11
jbe 0x18003e5a9
movaps xmm7, xmm11
subss xmm7, xmm9
divss xmm7, xmm3
movaps xmm0, xmm7
addss xmm0, xmm9
comiss xmm2, xmm0
jbe 0x18003e5a9
xorps xmm7, xmm7
ucomiss xmm10, xmm2
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x70]
jp 0x18003e5bd
je 0x18003e610
comiss xmm10, xmm8
jbe 0x18003e5ed
movaps xmm6, xmm8
movaps xmm0, xmm8
subss xmm6, xmm10
addss xmm0, xmm8
xorps xmm6, xmm12
divss xmm6, xmm3
movaps xmm1, xmm6
addss xmm1, xmm8
comiss xmm1, xmm0
jbe 0x18003e5ed
xorps xmm6, xmm6
comiss xmm8, xmm10
jbe 0x18003e610
movaps xmm6, xmm10
subss xmm6, xmm8
divss xmm6, xmm3
movaps xmm0, xmm6
addss xmm0, xmm8
comiss xmm2, xmm0
jbe 0x18003e610
xorps xmm6, xmm6
call fcn.180044380
movaps xmm10, xmmword [rsp + 0x60]
mov ecx, 1
cmp byte [rax + 0xe], 0
jne 0x18003e647
cvttss2si r8, xmm6
xor r9d, r9d
mov qword [rsp + 0x20], 0
cvttss2si rdx, xmm7
call qword [sym.imp.USER32.dll_mouse_event]
jmp 0x18003e824
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18003e824
mov qword [rsp + 0xc0], rbx
xor r9d, r9d
mov qword [rsp + 0xc8], rbp
cvttss2si r8, xmm6
mov qword [rsp + 0xd0], rdi
lea ecx, [r9 + 1]
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0x20], 0
cvttss2si rdx, xmm7
call qword [sym.imp.USER32.dll_mouse_event]
call fcn.180044380
movsxd rbx, dword [rax + 0x90]
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x18003e6c0
imul rdi, rax, 0x64
jmp 0x18003e6e1
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
mov rdi, rax
imul rax, rcx, 0x3b9aca00
add rdi, rax
test rbx, rbx
jle 0x18003e70a
imul rcx, rbx, 0x3e8
movabs rdx, 0x7fffffffffffffff
mov rax, rdx
sub rax, rcx
cmp rdi, rax
jge 0x18003e707
add rdi, rcx
jmp 0x18003e70a
mov rdi, rdx
movsd xmm8, qword [0x18005f688]
movabs rbp, 0x311cdad160000
movabs r14, 0x112e0be826d694b3
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x18003e745
imul rax, rax, 0x64
jmp 0x18003e763
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rdi
jge 0x18003e7dc
mov rbx, rdi
sub rbx, rax
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
imul rcx, rax, 0x64
xorps xmm0, xmm0
cvtsi2sd xmm0, rbx
comisd xmm0, xmm8
lea r8, [rcx + rbp]
seta r9b
test r9b, r9b
jne 0x18003e796
lea r8, [rcx + rbx]
lea rax, [rcx + rbx]
test r9b, r9b
lea rdx, [rcx + rbp]
cmove rdx, rax
lea rcx, [rsp + 0x30]
mov rax, r14
imul rdx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul eax, edx, 0x3b9aca00
mov qword [rsp + 0x30], rdx
sub r8d, eax
mov dword [rsp + 0x38], r8d
call qword [sym.imp.MSVCP140.dll__Thrd_sleep]
jmp 0x18003e727
xor r9d, r9d
mov qword [rsp + 0x20], 0
xorps xmm6, xmm12
xorps xmm7, xmm12
cvttss2si r8, xmm6
lea ecx, [r9 + 1]
cvttss2si rdx, xmm7
call qword [sym.imp.USER32.dll_mouse_event]
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
lea r11, [rsp + 0xb8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm12, xmmword [r11 - 0x78]
mov rsp, r11
ret