Function at 0x1400551e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f90]
mov eax, 0x2090
call fcn.140082820
sub rsp, rax
mov rax, qword [0x1400fd700]
xor rax, rsp
mov qword [rbp + 0x1f80], rax
xor r13d, r13d
mov esi, r13d
mov dword [rsp + 0x20], r13d
lea ecx, [r13 + 0x2d]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x140055245
cmp byte [0x1400fdc4d], sil
sete byte [0x1400fdc4d]
call fcn.14000a090
mov r14, qword [rax]
mov r15, qword [rax + 8]
cmp r14, r15
je 0x1400554a9
lea r12, [0x1400fdd38]
mov rbx, qword [r14]
mov ecx, dword [rbx + 0x4c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x14005549c
movzx ecx, byte [rbx + 0x48]
test cl, cl
sete al
mov byte [rbx + 0x48], al
mov rax, qword [rbx]
test cl, cl
mov rcx, rbx
jne 0x14005528f
call qword [rax]
jmp 0x140055292
call qword [rax + 8]
mov qword [rbp + 0x1f78], r13
mov dword [rsp + 0x70], 4
mov dword [rbp + 0x1f74], 0x190
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [rbp + 0x1f78], rax
xor edx, edx
mov r8d, 0x1000
lea rcx, [rsp + 0x74]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov r8d, 0x1000
lea rcx, [rbp + 0xf74]
call sub.VCRUNTIME140.dll_memset
lea rdi, [rbx + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x48], xmm0
mov rcx, r13
mov qword [rsp + 0x58], rcx
mov edx, 0xf
mov qword [rsp + 0x60], rdx
mov byte [rsp + 0x48], cl
bts esi, 0xa
mov dword [rsp + 0x20], esi
lea rbx, [0x1400fdd30]
nop
movzx r9d, byte [rbx]
xor r9b, 0x6f
cmp rcx, rdx
jae 0x140055340
lea rax, [rcx + 1]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x48]
cmp rdx, 0xf
cmova rax, qword [rsp + 0x48]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005534a
lea rcx, [rsp + 0x48]
call fcn.140004aa0
inc rbx
cmp rbx, r12
je 0x14005535e
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
jmp 0x140055310
btr esi, 0xa
bts esi, 9
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x140055374
mov rdi, qword [rdi]
mov rdx, rdi
lea rcx, [rsp + 0x48]
call fcn.14000aaa0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], r13
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x38], xmm1
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
bts esi, 0xb
lea rdx, [rsp + 0x28]
cmp qword [rsp + 0x40], 0xf
cmova rdx, qword [rsp + 0x28]
lea rcx, [rsp + 0x70]
call fcn.140055170
mov rdx, qword [rsp + 0x40]
cmp rdx, 0xf
jbe 0x14005540f
inc rdx
mov rcx, qword [rsp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005540a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400554d9
call fcn.14008227c
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x40], 0xf
mov byte [rsp + 0x28], 0
mov rdx, qword [rsp + 0x60]
cmp rdx, 0xf
jbe 0x14005545f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005545a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400554e0
call fcn.14008227c
mov rax, qword [0x140102538]
cmp rax, qword [0x140102540]
je 0x14005548f
mov r8d, 0x2010
lea rdx, [rsp + 0x70]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
add qword [0x140102538], 0x2010
jmp 0x14005549c
lea r8, [rsp + 0x70]
mov rdx, rax
call fcn.140055bd0
add r14, 8
cmp r14, r15
jne 0x140055261
mov rcx, qword [rbp + 0x1f80]
xor rcx, rsp
call fcn.140081df0
lea r11, [rsp + 0x2090]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3