Function at 0x18002a870
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 [0x180230100]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rax, qword [0x1802329a0]
cmp qword [rax], 0
je 0x18002ac2a
cmp byte [0x18023298d], 0
je 0x18002aa50
mov rax, qword [0x1802329a8]
mov rbp, qword [rax]
test rbp, rbp
je 0x18002ac2a
mov rbp, qword [rbp + 0x10]
test rbp, rbp
je 0x18002ac2a
xor r14d, r14d
mov edi, r14d
mov esi, r14d
movss xmm6, dword [0x18019dda8]
nop dword [rax]
nop word [rax + rax]
movsxd rax, edi
cmp rax, qword [rbp + 0x188]
jae 0x18002aa50
mov rbx, qword [rbp + 0x180]
test rbx, rbx
je 0x18002ac2a
mov rbx, qword [rsi + rbx]
test rbx, rbx
je 0x18002ac2a
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.1800313c0
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 0x18002a990
lea rcx, [rsp + 0x80]
call fcn.18000d780
nop
movaps xmm0, xmmword [0x18019e0a0]
movups xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x70]
call fcn.18003fa30
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.180042bf0
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.1800285d0
nop
mov rdx, qword [rsp + 0x98]
cmp rdx, 0xf
jbe 0x18002aa3e
inc rdx
mov rcx, qword [rsp + 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18002aa39
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002aa49
call fcn.1800d084c
inc edi
add rsi, 0x10
jmp 0x18002a900
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.18001d590
mov edi, eax
mov edx, eax
movabs rcx, 0x814fa8be5449445d
call fcn.18001d650
mov ebx, eax
mov rcx, rbp
call fcn.18001d590
mov r8d, 1
mov edx, eax
movabs r14, 0x9a9112a0fe9a4713
mov rcx, r14
call fcn.18001d740
cmp byte [0x18023298c], 0
je 0x18002aafc
mov rcx, rbp
call fcn.18001d590
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001d740
mov esi, eax
mov edx, eax
movabs rcx, 0xd5037ba82e12416f
call fcn.18001daa0
movaps xmm6, xmm0
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002aafc
addss xmm6, dword [0x180232988]
movaps xmm2, xmm6
mov edx, esi
movabs rcx, 0xab54a438726d25d5
call fcn.18001e710
cmp byte [0x180232985], 0
je 0x18002ab1c
mov r8d, 1
mov edx, ebx
movabs rcx, 0xb664292eaecf7fa6
call fcn.18001e060
cmp byte [0x180232984], 0
je 0x18002ab3f
mov r9d, 0xffffffff
mov r8d, ebx
mov edx, edi
movabs rcx, 0xf75b0d629e1c063d
call fcn.18001e180
cmp byte [0x18023298e], 0
je 0x18002ac2a
mov rcx, rbp
call fcn.18001d590
mov r8d, 1
mov edx, eax
mov rcx, r14
call fcn.18001d740
mov ebx, eax
mov r8d, 1
mov edx, eax
movabs rcx, 0x3882114bde571ad4
call fcn.18001e060
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.18001e2b0
xor r8d, r8d
mov edx, ebx
movabs rdi, 0xeb9dc3c7d8596c46
mov rcx, rdi
call fcn.18001e060
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x29b18b4fd460ca8f
call fcn.18001e060
xor r8d, r8d
mov edx, ebx
movabs rcx, 0x4c7028f78ffd3681
call fcn.18001e060
xor r8d, r8d
mov edx, ebx
mov rcx, rdi
call fcn.18001e060
mov r8d, 1
mov edx, ebx
movabs rcx, 0x92f0cf722bc4202f
call fcn.18001e060
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1800d08e0
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