Function at 0x18002a390
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 [0x180231100]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rax, qword [0x1802339a8]
cmp qword [rax], 0
je 0x18002a74a
cmp byte [0x180233995], 0
je 0x18002a570
mov rax, qword [0x1802339b0]
mov rbp, qword [rax]
test rbp, rbp
je 0x18002a74a
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x18002a74a
xor r14d, r14d
mov edi, r14d
mov esi, r14d
movss xmm6, dword [0x18019eca8]
nop dword [rax]
nop word [rax + rax]
movsxd rax, edi
cmp rax, qword [rbp + 0x188]
jae 0x18002a570
mov rbx, qword [rbp + 0x180]
test rbx, rbx
je 0x18002a74a
mov rbx, qword [rsi + rbx]
test rbx, rbx
je 0x18002a74a
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.180031150
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 0x18002a4b0
lea rcx, [rsp + 0x80]
call fcn.18000d780
nop
movaps xmm0, xmmword [0x18019f080]
movups xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call fcn.180041400
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.1800445c0
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.180028000
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x18002a55e
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002a559
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002a569
call fcn.1800d1d5c
inc edi
add rsi, 0x10
jmp 0x18002a420
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.18001d5c0
mov edi, eax
mov edx, eax
movabs rcx, 0x814fa8be5449445d
call fcn.18001d680
mov ebx, eax
mov rcx, rbp
call fcn.18001d5c0
mov r8d, 1
mov edx, eax
movabs r14, 0x9a9112a0fe9a4713
mov rcx, r14
call fcn.18001d770
cmp byte [0x180233994], 0
je 0x18002a61c
mov rcx, rbp
call fcn.18001d5c0
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001d770
mov esi, eax
mov edx, eax
movabs rcx, 0xd5037ba82e12416f
call fcn.18001dad0
movaps xmm6, xmm0
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002a61c
addss xmm6, dword [0x180233990]
movaps xmm2, xmm6
mov edx, esi
movabs rcx, 0xab54a438726d25d5
call fcn.18001e740
cmp byte [0x18023398d], 0
je 0x18002a63c
mov r8d, 1
mov edx, ebx
movabs rcx, 0xb664292eaecf7fa6
call fcn.18001e090
cmp byte [0x18023398c], 0
je 0x18002a65f
mov r9d, 0xffffffff
mov r8d, ebx
mov edx, edi
movabs rcx, 0xf75b0d629e1c063d
call fcn.18001e1b0
cmp byte [0x180233996], 0
je 0x18002a74a
mov rcx, rbp
call fcn.18001d5c0
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001d770
mov ebx, eax
mov r8d, 1
mov edx, eax
movabs rcx, 0x3882114bde571ad4
call fcn.18001e090
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.18001e2e0
xor r8d, r8d
mov edx, ebx
movabs rdi, 0xeb9dc3c7d8596c46
mov rcx, rdi
call fcn.18001e090
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x29b18b4fd460ca8f
call fcn.18001e090
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x4c7028f78ffd3681
call fcn.18001e090
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.18001e090
mov r8d, 1
mov edx, ebx
movabs rcx, 0x92f0cf722bc4202f
call fcn.18001e090
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800d1df0
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