Function at 0x1800e0fb0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x158
cmp byte [0x1805b11ad], 1
jne 0x1800e1775
mov qword [rax + 0x18], rbx
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
movabs rsi, 0xd80958fc74e988a6
mov qword [rax - 0x18], rdi
xor edi, edi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0xa8], xmm12
movaps xmmword [rax - 0xb8], xmm13
movaps xmmword [rax - 0xc8], xmm14
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov qword [0x1805dd278], rsi
mov ebx, dword [rax]
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
call fcn.1801e4620
mov qword [rsp + 0x160], rdi
movabs rbp, 0x997abd671d25ca0b
mov qword [0x1805dd278], rbp
mov ecx, dword [rax]
mov dword [rsp + 0x160], ecx
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x160], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x160], 1
mov rax, qword [rsp + 0x160]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
movss xmm9, dword [0x180506a48]
movabs r14, 0x5e6cc07646bbeab8
movsd xmm12, qword [0x18050a120]
movabs r15, 0xa200eb1ee790f448
movsd xmm14, qword [0x1805042a8]
movabs r12, 0x837765a25378f0bb
movabs r13, 0x3a87e44bb9a01d54
movss xmm13, dword [0x180506314]
cmp dword [rax], edi
jne 0x1800e13c5
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov qword [rsp + 0x168], rdi
mov qword [0x1805dd278], r14
mov ecx, dword [rax]
mov dword [rsp + 0x168], ecx
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], r15
call fcn.1801e4620
mov qword [0x1805dd278], r12
movups xmm10, xmmword [rax]
movsd xmm11, qword [rax + 0x10]
mov dword [0x1805870f8], edi
mov qword [0x180587120], rdi
mov dword [0x1805870e8], 1
call fcn.1801e4620
xorps xmm1, xmm1
movups xmm0, xmmword [rax]
movsd xmm6, qword [rax + 0x10]
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm14
movaps xmm0, xmm1
call fcn.180389970
xorps xmm1, xmm1
movaps xmm7, xmm0
cvtss2sd xmm1, xmm6
shufpd xmm7, xmm0, 1
movaps xmm8, xmm0
mulsd xmm1, xmm14
andps xmm7, xmm12
movaps xmm0, xmm1
call fcn.180389970
xorps xmm2, xmm2
mov qword [rsp + 0x168], rdi
cvtsd2ss xmm8, xmm8
mov dword [rsp + 0x168], ebx
mov rax, qword [rsp + 0x168]
mov qword [0x180587120], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x168], rdi
movaps xmm12, xmm10
mov qword [0x180587128], rax
xorps xmm1, xmm1
shufps xmm10, xmm10, 0xaa
cvtsd2ss xmm1, xmm0
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], r13
addss xmm11, xmm8
shufpd xmm0, xmm0, 1
xorps xmm1, xmmword [0x18050a140]
mulsd xmm0, xmm7
mov qword [0x180587130], rax
cvtss2sd xmm2, xmm1
mov dword [0x1805870e8], 3
mulss xmm8, xmm13
mulsd xmm2, xmm7
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
cvtpd2ps xmm6, xmm2
addss xmm10, xmm7
mulss xmm7, xmm13
addss xmm12, xmm6
mulss xmm6, xmm13
addss xmm8, xmm11
addss xmm7, xmm10
addss xmm6, xmm12
call fcn.1801e4620
mov qword [rsp + 0x168], rdi
movabs rax, 0xf3a21bcd95725a4a
mov qword [0x1805dd278], rax
mov dword [rsp + 0x168], 2
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x168], 0xd0
mov rax, qword [rsp + 0x168]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], edi
jne 0x1800e1365
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1800e13bc
mov eax, dword [rsp + 0x160]
movaps xmm3, xmm6
movss dword [rsp + 0x60], xmm9
movaps xmm2, xmm11
mov dword [rsp + 0x58], 1
movaps xmm1, xmm10
mov dword [rsp + 0x50], 1
movaps xmm0, xmm12
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x32
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm7
call fcn.18015cc10
movsd xmm12, qword [0x18050a120]
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov qword [rsp + 0x160], rdi
mov qword [0x1805dd278], rbp
mov ecx, dword [rax]
mov dword [rsp + 0x160], ecx
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0x160], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x160], 1
mov rax, qword [rsp + 0x160]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov rbp, qword [rsp + 0x150]
cmp dword [rax], edi
je 0x1800e16ee
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], rsi
call fcn.1801e4620
mov qword [rsp + 0x168], rdi
mov qword [0x1805dd278], r14
mov ecx, dword [rax]
mov dword [rsp + 0x168], ecx
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
mov dword [0x1805870e8], edi
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], r15
call fcn.1801e4620
mov qword [0x1805dd278], r12
movups xmm10, xmmword [rax]
movsd xmm11, qword [rax + 0x10]
mov dword [0x1805870f8], edi
mov qword [0x180587120], rdi
mov dword [0x1805870e8], 1
call fcn.1801e4620
xorps xmm1, xmm1
movups xmm0, xmmword [rax]
movsd xmm6, qword [rax + 0x10]
cvtss2sd xmm1, xmm0
mulsd xmm1, xmm14
movaps xmm0, xmm1
call fcn.180389970
xorps xmm1, xmm1
movaps xmm7, xmm0
cvtss2sd xmm1, xmm6
shufpd xmm7, xmm0, 1
movaps xmm8, xmm0
mulsd xmm1, xmm14
andps xmm7, xmm12
movaps xmm0, xmm1
call fcn.180389970
xorps xmm2, xmm2
mov qword [rsp + 0x168], rdi
cvtsd2ss xmm8, xmm8
mov dword [rsp + 0x168], ebx
mov rax, qword [rsp + 0x168]
mov qword [0x180587120], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x168], rdi
movaps xmm12, xmm10
mov qword [0x180587128], rax
xorps xmm1, xmm1
shufps xmm10, xmm10, 0xaa
cvtsd2ss xmm1, xmm0
mov dword [rsp + 0x168], 1
mov rax, qword [rsp + 0x168]
mov dword [0x1805870f8], edi
mov qword [0x1805dd278], r13
addss xmm11, xmm8
shufpd xmm0, xmm0, 1
xorps xmm1, xmmword [0x18050a140]
mulsd xmm0, xmm7
mov qword [0x180587130], rax
cvtss2sd xmm2, xmm1
mov dword [0x1805870e8], 3
mulss xmm8, xmm13
mulsd xmm2, xmm7
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
cvtpd2ps xmm6, xmm2
addss xmm10, xmm7
mulss xmm7, xmm13
addss xmm12, xmm6
mulss xmm6, xmm13
addss xmm8, xmm11
addss xmm7, xmm10
addss xmm6, xmm12
call fcn.1801e4620
mov qword [rsp + 0x168], rdi
movabs rax, 0xf3a21bcd95725a4a
mov qword [0x1805dd278], rax
mov dword [rsp + 0x168], 2
mov rax, qword [rsp + 0x168]
mov qword [rsp + 0x168], rdi
mov qword [0x180587120], rax
mov dword [rsp + 0x168], 0xd0
mov rax, qword [rsp + 0x168]
mov qword [0x180587128], rax
mov dword [0x1805870f8], edi
mov dword [0x1805870e8], 2
call fcn.1801e4620
cmp dword [rax], edi
jne 0x1800e1697
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x1800e16ee
mov eax, dword [rsp + 0x160]
movaps xmm3, xmm6
movss dword [rsp + 0x60], xmm9
movaps xmm2, xmm11
mov dword [rsp + 0x58], 1
movaps xmm1, xmm10
mov dword [rsp + 0x50], 1
movaps xmm0, xmm12
mov dword [rsp + 0x48], ebx
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0x32
movss dword [rsp + 0x28], xmm8
movss dword [rsp + 0x20], xmm7
call fcn.18015cc10
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm12, xmmword [rsp + 0xb0]
movaps xmm13, xmmword [rsp + 0xa0]
mov r15, qword [rsp + 0x120]
mov r14, qword [rsp + 0x128]
mov r13, qword [rsp + 0x130]
mov r12, qword [rsp + 0x138]
mov rdi, qword [rsp + 0x140]
mov rsi, qword [rsp + 0x148]
mov rbx, qword [rsp + 0x170]
movaps xmm14, xmmword [rsp + 0x90]
add rsp, 0x158
ret