Function at 0x180011100
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0xf0
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 [rsp + 0x70], xmm13
mov rax, qword [0x180050040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov rdi, r8
mov rsi, rcx
mov qword [rsp + 0x30], rdx
inc dword [0x180050d08]
movss xmm1, dword [0x18005335c]
movaps xmm6, xmm1
movss xmm9, dword [0x18004911c]
addss xmm6, xmm9
addss xmm6, dword [0x180050d0c]
movss xmm7, dword [0x180053358]
movss xmm0, dword [0x180049140]
addss xmm7, xmm0
addss xmm7, dword [0x180050d04]
movss xmm11, dword [rsp + 0x34]
movss xmm8, dword [0x180049064]
cmp byte [0x1800509fe], 0
je 0x1800111e3
movss xmm7, dword [0x1800532e8]
addss xmm7, dword [0x180053390]
addss xmm7, xmm0
movss xmm6, dword [0x1800532ec]
mulss xmm6, xmm8
addss xmm6, dword [0x180053394]
movaps xmm0, xmm11
mulss xmm0, xmm8
subss xmm6, xmm0
xorps xmm13, xmm13
cmp byte [0x1800509d3], 0
je 0x180011218
movss xmm6, dword [0x180050d00]
mov byte [0x1800509d3], 0
mov dword [0x180050d00], 0
movaps xmm0, xmm6
subss xmm0, xmm1
movss dword [0x180050d0c], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rsp + 0x44]
cvtdq2ps xmm1, xmm1
movd xmm2, dword [rsp + 0x40]
cvtdq2ps xmm2, xmm2
movss xmm12, dword [rsp + 0x30]
comiss xmm2, xmm7
jbe 0x180011294
comiss xmm1, xmm6
jbe 0x180011294
movaps xmm0, xmm7
addss xmm0, xmm12
comiss xmm0, xmm2
jbe 0x180011294
movaps xmm0, xmm6
addss xmm0, xmm11
comiss xmm0, xmm1
jbe 0x180011294
mov bl, 1
movups xmm0, xmmword [0x18003f978]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x30]
movaps xmm2, xmm11
movaps xmm1, xmm12
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.18000c130
mov byte [0x1800509fd], bl
jmp 0x1800112c0
xor bl, bl
movups xmm0, xmmword [0x18003f958]
movdqa xmmword [rsp + 0x30], xmm0
lea r9, [rsp + 0x30]
movaps xmm2, xmm11
movaps xmm1, xmm12
movaps xmm0, xmm7
unpcklps xmm0, xmm6
movq rcx, xmm0
call fcn.18000c130
cmp byte [0x1800509fe], 0
jne 0x1800112e6
movaps xmm0, xmm11
addss xmm0, xmm9
movss xmm1, dword [0x180050d0c]
addss xmm1, xmm0
movss dword [0x180050d0c], xmm1
cmp byte [0x1800501e8], 0
je 0x18001132e
movaps xmm2, xmm11
mulss xmm2, xmm8
addss xmm2, xmm6
movaps xmm1, xmm12
mulss xmm1, xmm8
addss xmm1, xmm7
movaps xmm0, xmmword [0x180049440]
movaps xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, [0x180040a38]
call fcn.18000ba60
mov eax, dword [0x180050d08]
cmp dword [0x18005014c], eax
jne 0x1800113ec
movaps xmm1, xmm12
mulss xmm1, xmm8
addss xmm1, xmm7
movaps xmm2, xmm11
mulss xmm2, xmm8
addss xmm2, xmm6
movaps xmm0, xmmword [0x180049440]
movaps xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
unpcklps xmm1, xmm2
movq rdx, xmm1
lea rcx, str.PressKey
call fcn.18000ba60
cmp byte [0x1800509f8], 0
jne 0x1800113b5
cmp byte [0x1800509f9], 0
jne 0x1800113b5
cmp byte [0x1800509fa], 0
jne 0x1800113b5
cmp byte [0x1800509fb], 0
jne 0x1800113b5
cmp byte [0x1800509fc], 0
jne 0x1800113b5
mov byte [0x1800509d2], 0
jmp 0x1800113c2
cmp byte [0x1800509d2], 0
jne 0x180011544
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800113dd
mov dword [rdi], ebx
mov dword [0x18005014c], 0xffffffff
inc ebx
cmp ebx, 0xff
jl 0x1800113c4
jmp 0x180011544
movaps xmm10, xmm11
mulss xmm10, xmm8
addss xmm10, xmm6
movaps xmm9, xmm12
mulss xmm9, xmm8
addss xmm9, xmm7
movzx edx, byte [rdi]
lea rcx, [rsp + 0x48]
call fcn.180010ae0
nop
cmp qword [rax + 0x18], 0xf
jbe 0x180011420
mov rax, qword [rax]
mov rcx, rax
call fcn.18000a310
movaps xmm0, xmmword [0x180049b50]
movaps xmmword [rsp + 0x30], xmm0
lea r8, [rsp + 0x30]
movaps xmm1, xmm9
unpcklps xmm1, xmm10
movq rdx, xmm1
mov rcx, rax
call fcn.18000b640
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x18001148f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001148a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18001148a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18003ce04
test bl, bl
je 0x1800114ff
movsxd rdx, dword [0x180050d08]
cmp byte [0x1800509f8], 0
je 0x1800114de
lea rax, [0x180050c00]
cmp byte [rdx + rax], 0
jne 0x1800114f6
mov byte [rdx + rax], 1
mov byte [0x1800509d2], 1
mov dword [0x18005014c], edx
xor ebx, ebx
mov ecx, ebx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
inc ebx
cmp ebx, 0xff
jl 0x1800114c3
mov byte [0x1800501e8], 0
jmp 0x180011544
cmp rdx, 0x100
jae 0x180011601
lea rax, [0x180050c00]
mov byte [rdx + rax], 0
mov byte [0x1800501e8], 0
jmp 0x180011544
movsxd rcx, dword [0x180050d08]
cmp byte [0x1800509f8], 0
je 0x18001152c
lea rax, [0x180050c00]
cmp byte [rcx + rax], 0
jne 0x180011544
mov byte [rcx + rax], 1
mov dword [0x18005014c], 0xffffffff
jmp 0x180011544
cmp rcx, 0x100
jae 0x180011601
lea rax, [0x180050c00]
mov byte [rcx + rax], 0
movaps xmm0, xmm7
addss xmm0, xmm12
addss xmm0, dword [0x18004910c]
movaps xmm1, xmm6
addss xmm1, xmm11
subss xmm1, dword [0x18004916c]
unpcklps xmm0, xmm1
movq rdx, xmm0
mov rcx, rsi
call fcn.18000b0c0
mov byte [0x1800509fe], 0
movss dword [0x180053390], xmm7
movss dword [0x180053394], xmm6
movss dword [0x1800532e8], xmm12
movss dword [0x1800532ec], xmm11
movss xmm0, dword [0x1800532e0]
ucomiss xmm0, xmm13
jp 0x1800115bd
jne 0x1800115bd
movss dword [0x1800532e0], xmm7
movss dword [0x1800532e4], xmm6
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18003cda0
lea r11, [rsp + 0xf0]
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 rdi
pop rsi
pop rbx
ret
call fcn.18003d0b8
int3