Function at 0x180005400
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x150
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
movaps xmmword [rax - 0xa8], xmm14
mov rax, qword [0x18001e010]
xor rax, rsp
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xa0], rdx
inc dword [0x18001eab0]
movss xmm1, dword [0x180020f84]
movaps xmm6, xmm1
addss xmm6, dword [0x18001ad7c]
addss xmm6, dword [0x18001eab4]
movss xmm7, dword [0x180020f80]
movss xmm0, dword [0x18001ad88]
addss xmm7, xmm0
addss xmm7, dword [0x18001e9a4]
movss xmm9, dword [rsp + 0xa4]
movss xmm13, dword [0x18001ad18]
cmp byte [0x18001e84c], 0
je 0x1800054f3
movss xmm7, dword [0x180020f58]
addss xmm7, dword [0x180020f98]
addss xmm7, xmm0
movss xmm6, dword [0x180020f5c]
mulss xmm6, xmm13
addss xmm6, dword [0x180020f9c]
movaps xmm0, xmm9
mulss xmm0, xmm13
subss xmm6, xmm0
xorps xmm12, xmm12
cmp byte [0x18001e82e], 0
je 0x180005528
movss xmm6, dword [0x18001e9a0]
mov byte [0x18001e82e], 0
mov dword [0x18001e9a0], 0
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x18001eab4], xmm0
lea rcx, [rsp + 0xb0]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm2, dword [rsp + 0xb4]
cvtdq2ps xmm2, xmm2
movd xmm0, dword [rsp + 0xb0]
cvtdq2ps xmm0, xmm0
movss xmm14, dword [rsp + 0xa0]
comiss xmm0, xmm7
jbe 0x18000561c
comiss xmm2, xmm6
jbe 0x18000561c
movaps xmm1, xmm7
addss xmm1, xmm14
comiss xmm1, xmm0
jbe 0x18000561c
movaps xmm0, xmm6
addss xmm0, xmm9
comiss xmm0, xmm2
jbe 0x18000561c
mov bpl, 1
movups xmm11, xmmword [0x18001ac28]
xorps xmm8, xmm8
comiss xmm9, xmm12
jbe 0x180005610
movss dword [rsp + 0xa0], xmm1
movss dword [rsp + 0x60], xmm7
movss xmm10, dword [0x18001ad24]
nop dword [rax]
movdqa xmmword [rsp + 0x70], xmm11
movaps xmm0, xmm6
addss xmm0, xmm8
movss dword [rsp + 0xa4], xmm0
movss dword [rsp + 0x64], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
mov r8, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [0x18001e888]
call fcn.180001990
addss xmm8, xmm10
comiss xmm9, xmm8
ja 0x1800055c0
mov byte [0x18001e82f], bpl
jmp 0x1800056a1
xor bpl, bpl
movups xmm11, xmmword [0x18001ac08]
xorps xmm8, xmm8
comiss xmm9, xmm12
jbe 0x1800056a1
movaps xmm0, xmm7
addss xmm0, xmm14
movss dword [rsp + 0x60], xmm0
movss dword [rsp + 0xa0], xmm7
movss xmm10, dword [0x18001ad24]
movdqa xmmword [rsp + 0x70], xmm11
movaps xmm0, xmm6
addss xmm0, xmm8
movss dword [rsp + 0x64], xmm0
movss dword [rsp + 0xa4], xmm0
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
movaps xmm3, xmm10
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [0x18001e888]
call fcn.180001990
addss xmm8, xmm10
comiss xmm9, xmm8
ja 0x180005651
cmp byte [0x18001e84c], 0
jne 0x1800056ca
movaps xmm0, xmm9
addss xmm0, dword [0x18001ad7c]
movss xmm1, dword [0x18001eab4]
addss xmm1, xmm0
movss dword [0x18001eab4], xmm1
mov eax, dword [0x18001eab0]
cmp dword [0x18001e044], eax
jne 0x180005829
movaps xmm3, xmm14
mulss xmm3, xmm13
addss xmm3, xmm7
movaps xmm2, xmm9
mulss xmm2, xmm13
addss xmm2, xmm6
movaps xmm0, xmmword [0x18001aea0]
movaps xmmword [rsp + 0x70], xmm0
movaps xmm1, xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmm0, xmmword [0x18001b570]
movaps xmmword [rsp + 0x80], xmm0
mov dword [rsp + 0x68], 9
mov dword [rsp + 0x6c], 9
lea rax, str.PressKey
mov qword [rsp + 0x60], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movss xmm1, dword [0x18001ad28]
subss xmm2, dword [0x18001ad7c]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov byte [rsp + 0x40], 1
movaps xmm0, xmm12
unpcklps xmm0, xmm12
movsd qword [rsp + 0x38], xmm0
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x30], rax
movss dword [rsp + 0x28], xmm12
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
movaps xmm0, xmm1
unpcklps xmm0, xmm1
movq r9, xmm0
movaps xmm1, xmm3
unpcklps xmm1, xmm2
movq r8, xmm1
lea rdx, [rsp + 0x60]
mov rcx, qword [0x18001e888]
call fcn.180001c90
cmp byte [0x18001e890], 0
jne 0x1800057ee
cmp byte [0x18001e891], 0
jne 0x1800057ee
cmp byte [0x18001e892], 0
jne 0x1800057ee
cmp byte [0x18001e893], 0
jne 0x1800057ee
cmp byte [0x18001e894], 0
jne 0x1800057ee
mov byte [0x18001e82d], 0
jmp 0x1800057fb
cmp byte [0x18001e82d], 0
jne 0x1800059a7
xor ebx, ebx
lea rsi, [rbx - 1]
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000581a
mov dword [0x18001e87c], ebx
mov dword [0x18001e044], esi
inc ebx
cmp ebx, 0xff
jl 0x180005801
jmp 0x1800059a7
movaps xmm10, xmm9
mulss xmm10, xmm13
addss xmm10, xmm6
movaps xmm8, xmm14
mulss xmm8, xmm13
addss xmm8, xmm7
movzx edx, byte [0x18001e87c]
lea rcx, [rsp + 0x80]
call fcn.1800051e0
mov r14, rax
cmp qword [rax + 0x18], 0x10
jb 0x180005866
mov r14, qword [rax]
mov rsi, 0xffffffffffffffff
mov rdi, rsi
inc rdi
cmp byte [r14 + rdi], 0
jne 0x180005870
inc rdi
mov eax, 2
mul rdi
cmovo rax, rsi
mov rcx, rax
call fcn.1800145a4
mov rbx, rax
mov r8, rdi
mov rdx, r14
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
movaps xmm0, xmm8
unpcklps xmm0, xmm10
movq rdx, xmm0
mov rcx, rbx
call fcn.180002e40
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 0x10
jb 0x1800058ff
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800058fa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800058fa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18001459c
test bpl, bpl
je 0x180005966
movsxd rdx, dword [0x18001eab0]
cmp byte [0x18001e890], 0
je 0x18000594c
lea rax, [0x18001e8a0]
cmp byte [rdx + rax], 0
jne 0x1800059a7
mov byte [rdx + rax], 1
mov byte [0x18001e82d], 1
mov dword [0x18001e044], edx
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x180005938
jmp 0x1800059a7
cmp rdx, 0x100
jae 0x180005a48
lea rax, [0x18001e8a0]
mov byte [rdx + rax], 0
jmp 0x1800059a7
movsxd rcx, dword [0x18001eab0]
cmp byte [0x18001e890], 0
je 0x18000598f
lea rax, [0x18001e8a0]
cmp byte [rcx + rax], 0
jne 0x1800059a7
mov byte [rcx + rax], 1
mov dword [0x18001e044], esi
jmp 0x1800059a7
cmp rcx, 0x100
jae 0x180005a48
lea rax, [0x18001e8a0]
mov byte [rcx + rax], 0
mov byte [0x18001e84c], 0
movss dword [0x180020f98], xmm7
movss dword [0x180020f9c], xmm6
movss dword [0x180020f58], xmm14
movss dword [0x180020f5c], xmm9
movss xmm0, dword [0x180020f50]
ucomiss xmm0, xmm12
jp 0x1800059f0
jne 0x1800059f0
movss dword [0x180020f50], xmm7
movss dword [0x180020f54], xmm6
mov rcx, qword [rsp + 0xb8]
xor rcx, rsp
call fcn.1800141c0
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x30]
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]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
call fcn.1800143cc
int3