Function at 0x1801cbcf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x20], rbx
push rbp
push rsi
push rdi
lea rbp, [rax - 0x5f]
sub rsp, 0xb0
xor edi, edi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov ebx, edi
cmp byte [0x1802c9cf3], bl
movaps xmmword [rax - 0x48], xmm8
lea esi, [rdi + 1]
movaps xmmword [rax - 0x58], xmm9
je 0x1801cbd38
mov ecx, dword [0x1802c9e18]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
cmovne ebx, esi
cmp byte [0x1802c9cf8], dil
je 0x1801cbd54
mov ecx, dword [0x1802c9e0c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbd54
inc ebx
cmp byte [0x1802c9de1], dil
je 0x1801cbd70
mov ecx, dword [0x1802c9e14]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbd70
inc ebx
cmp byte [0x1802c9cf0], dil
je 0x1801cbd8c
mov ecx, dword [0x1802c9df8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbd8c
inc ebx
cmp byte [0x1802c9d50], dil
je 0x1801cbda8
mov ecx, dword [0x1802c9dfc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbda8
inc ebx
cmp byte [0x1802c9dba], dil
je 0x1801cbdc4
mov ecx, dword [0x1802c9e1c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbdc4
inc ebx
cmp byte [0x1802c9de4], dil
je 0x1801cbde0
mov ecx, dword [0x1802c9df4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbde0
inc ebx
cmp byte [0x1802c9dab], dil
je 0x1801cbdfc
mov ecx, dword [0x1802c9e00]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1801cbdfc
inc ebx
lea eax, [rbx + 1]
xor edx, edx
imul ecx, eax, 0x19
mov r8d, 0x1fb
mov rax, qword [0x1802c9e60]
or dword [rax + 0x3fa8], 2
mov dword [rax + 0x3fc8], 0x42fa0000
mov dword [rax + 0x3fb0], esi
movd xmm0, ecx
lea rcx, [0x18017dfb0]
cvtdq2ps xmm0, xmm0
movss dword [rax + 0x3fcc], xmm0
call fcn.1801edbf0
mov rcx, qword [0x1802c9e60]
movaps xmm0, xmmword [0x180183510]
movups xmmword [rbp - 0x19], xmm0
mov rax, qword [rcx + 0x3ea0]
mov byte [rax + 0x98], sil
mov rax, qword [rcx + 0x3ea0]
lea rcx, [rbp - 0x19]
movss xmm9, dword [rax + 0x18]
movss xmm8, dword [rax + 0x1c]
movaps xmm6, xmm9
addss xmm6, dword [0x180182ff4]
mov rbx, qword [rax + 0x288]
movaps xmm0, xmm8
addss xmm0, dword [0x180182f5c]
movss dword [rbp + 0x67], xmm9
movss dword [rbp + 0x6b], xmm8
movss dword [rbp + 0x6f], xmm6
movss dword [rbp + 0x73], xmm0
call fcn.1801e3ea0
xorps xmm7, xmm7
mov dword [rsp + 0x28], edi
mov r9d, eax
movss dword [rsp + 0x20], xmm7
lea rdx, [rbp + 0x67]
mov rcx, rbx
lea r8, [rbp + 0x6f]
call fcn.1801fd6c0
movss xmm0, dword [0x1802a1060]
lea rcx, [rbp - 0x19]
movss xmm1, dword [0x1802a1064]
movss dword [rbp - 0x19], xmm0
movss xmm0, dword [0x1802a1068]
movss dword [rbp - 0x11], xmm0
movaps xmm0, xmm8
addss xmm0, dword [0x180182eb8]
movss dword [rbp - 0x15], xmm1
movss dword [rbp + 0x6f], xmm6
mov dword [rbp - 0xd], 0x3f800000
movss dword [rbp + 0x73], xmm0
call fcn.1801e3ea0
mov r9d, eax
mov dword [rsp + 0x28], edi
lea rdx, [rbp + 0x67]
movss dword [rsp + 0x20], xmm7
lea r8, [rbp + 0x6f]
mov rcx, rbx
call fcn.1801fd6c0
movss xmm6, dword [0x180182f34]
lea rsi, [0x18017ce20]
mov qword [rsp + 0x30], rdi
lea rdx, [rbp + 0x6f]
mov rdi, qword [0x1802c9e48]
movaps xmm2, xmm6
mov rcx, rdi
mov qword [rsp + 0x28], rsi
movss dword [rsp + 0x20], xmm7
call fcn.180200730
movaps xmm0, xmmword [0x180183960]
lea rcx, [rbp - 0x19]
movups xmmword [rbp - 0x19], xmm0
call fcn.1801e3ea0
movss xmm0, dword [rbp + 0x6f]
movaps xmm1, xmm9
addss xmm1, dword [0x180182fb4]
mulss xmm0, dword [0x180182a7c]
mov ecx, eax
subss xmm1, xmm0
movss dword [rbp + 0x77], xmm1
movss xmm0, dword [rbp + 0x73]
movaps xmm1, xmm8
mulss xmm0, dword [0x180182a7c]
addss xmm1, dword [0x180182f30]
subss xmm1, xmm0
movss dword [rbp + 0x7b], xmm1
test eax, 0xff000000
je 0x1801cc027
test rdi, rdi
jne 0x1801cbfe1
mov rax, qword [rbx + 0x38]
mov rdi, qword [rax + 8]
movups xmm0, xmmword [rbx + 0x88]
mov byte [rsp + 0x48], 0
lea rax, [0x18017ce28]
movss dword [rsp + 0x40], xmm7
lea r9, [rbp + 0x77]
mov qword [rsp + 0x38], rax
movaps xmm2, xmm6
lea rax, [rbp - 0x19]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov rdx, rbx
mov dword [rsp + 0x20], ecx
mov rcx, rdi
movups xmmword [rbp - 0x19], xmm0
call fcn.180200960
mov rdx, qword [0x1802eb160]
lea rax, [0x18017c820]
cmp rdx, qword [0x1802eb168]
movsd xmm6, qword [rbp + 0x67]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9e18]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc07c
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc08c
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017dfc0]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9e0c]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc0d5
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc0e5
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017d1d8]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9e14]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc12e
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc13e
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017ca18]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9df8]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc187
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc197
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017cd94]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9dfc]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc1e0
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc1f0
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017dfcc]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9e1c]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc239
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc249
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017dfd8]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9df4]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc292
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
mov rdx, qword [0x1802eb160]
add rdx, 0x20
mov qword [0x1802eb160], rdx
jmp 0x1801cc2a2
lea r8, [rbp - 0x19]
call fcn.1801de560
mov rdx, qword [0x1802eb160]
cmp rdx, qword [0x1802eb168]
lea rax, [0x18017dfe8]
mov qword [rbp - 9], rax
mov eax, dword [0x1802c9e00]
mov dword [rbp - 1], eax
mov qword [rbp - 0x19], rbx
movsd qword [rbp - 0x11], xmm6
je 0x1801cc2e1
movups xmm0, xmmword [rbp - 0x19]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rbp - 9]
movups xmmword [rdx + 0x10], xmm1
add qword [0x1802eb160], 0x20
jmp 0x1801cc2ea
lea r8, [rbp - 0x19]
call fcn.1801de560
call fcn.1801effd0
movups xmm0, xmmword [0x1802a1060]
lea rax, [0x1802c80a0]
mov rcx, rbx
addss xmm9, dword [0x180182ef8]
addss xmm8, dword [0x180182bbc]
movss xmm2, dword [0x180182f58]
lea r9, [rbp - 0x19]
movss xmm1, dword [0x180182fe0]
movdqa xmmword [rbp - 0x19], xmm0
xorps xmm0, xmm0
unpcklps xmm0, xmm7
mov qword [rsp + 0x28], rax
movsd qword [rsp + 0x20], xmm0
movaps xmm0, xmm9
unpcklps xmm0, xmm8
unpcklps xmm1, xmm2
movq rdx, xmm0
movq r8, xmm1
call fcn.1801a88a0
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
pop rsi
pop rbp
ret