Function at 0x180028e60
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0xc0
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x180229ec0]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rax, qword [0x18022c768]
cmp qword [rax], 0
je 0x18002921a
cmp byte [0x18022c755], 0
je 0x180029040
mov rax, qword [0x18022c770]
mov rbp, qword [rax]
test rbp, rbp
je 0x18002921a
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x18002921a
xor r14d, r14d
mov edi, r14d
mov esi, r14d
movss xmm6, dword [0x180198a28]
nop dword [rax]
nop word [rax + rax]
movsxd rax, edi
cmp rax, qword [rbp + 0x188]
jae 0x180029040
mov rbx, qword [rbp + 0x180]
test rbx, rbx
je 0x18002921a
mov rbx, qword [rsi + rbx]
test rbx, rbx
je 0x18002921a
movsd xmm0, qword [rbx + 0x90]
movsd qword [rsp + 0x60], xmm0
mov eax, dword [rbx + 0x98]
mov dword [rsp + 0x68], eax
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x50]
call fcn.18002e4e0
mov rcx, qword [rbx + 0x20]
lea rax, [rcx + 0x298]
mov rdx, r14
test rcx, rcx
cmovne rdx, rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x90], r14
mov qword [rsp + 0x98], r14
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x180028f80
lea rcx, [rsp + 0x80]
call fcn.18000d700
nop
movaps xmm0, xmmword [0x180198d20]
movups xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call fcn.18003bcd0
mov ebx, eax
movss xmm0, dword [rsp + 0x50]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [rsp + 0x54]
movss dword [rsp + 0x5c], xmm1
call fcn.18003ee90
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], ebx
movaps xmm3, xmm6
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.180026cc0
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x18002902e
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180029029
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180029039
call fcn.1800cbd7c
inc edi
add rsi, 0x10
jmp 0x180028ef0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
movabs rbp, 0xd80958fc74e988a6
mov rcx, rbp
call fcn.18001bc80
mov edi, eax
mov edx, eax
movabs rcx, 0x814fa8be5449445d
call fcn.18001bd40
mov ebx, eax
mov rcx, rbp
call fcn.18001bc80
mov r8d, 1
mov edx, eax
movabs r14, 0x9a9112a0fe9a4713
mov rcx, r14
call fcn.18001be30
cmp byte [0x18022c754], 0
je 0x1800290ec
mov rcx, rbp
call fcn.18001bc80
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001be30
mov esi, eax
mov edx, eax
movabs rcx, 0xd5037ba82e12416f
call fcn.18001c190
movaps xmm6, xmm0
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1800290ec
addss xmm6, dword [0x18022c750]
movaps xmm2, xmm6
mov edx, esi
movabs rcx, 0xab54a438726d25d5
call fcn.18001ce00
cmp byte [0x18022c74d], 0
je 0x18002910c
mov r8d, 1
mov edx, ebx
movabs rcx, 0xb664292eaecf7fa6
call fcn.18001c750
cmp byte [0x18022c74c], 0
je 0x18002912f
mov r9d, 0xffffffff
mov r8d, ebx
mov edx, edi
movabs rcx, 0xf75b0d629e1c063d
call fcn.18001c870
cmp byte [0x18022c756], 0
je 0x18002921a
mov rcx, rbp
call fcn.18001bc80
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001be30
mov ebx, eax
mov r8d, 1
mov edx, eax
movabs rcx, 0x3882114bde571ad4
call fcn.18001c750
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 1
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 1
mov r9d, 1
mov r8d, r9d
mov edx, ebx
movabs rcx, 0xfaee099c6f890bb8
call fcn.18001c9a0
xor r8d, r8d
mov edx, ebx
movabs rdi, 0xeb9dc3c7d8596c46
mov rcx, rdi
call fcn.18001c750
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x29b18b4fd460ca8f
call fcn.18001c750
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x4c7028f78ffd3681
call fcn.18001c750
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.18001c750
mov r8d, 1
mov edx, ebx
movabs rcx, 0x92f0cf722bc4202f
call fcn.18001c750
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800cbe10
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r14
ret