Function at 0x18000caf0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
sub rsp, 0x4e0
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xcc
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x508]
mov rax, qword [0x1801c1fc0]
xor rax, rbp
mov qword [rbp + 0x4a0], rax
lea rcx, [0x1801d8219]
call fcn.180149ac0
nop
mov ecx, dword [0x1801bd030]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x18000cb75
mov byte [0x1801c2609], 0
mov dword [0x1801bd028], 0xffffffff
jmp 0x18000cf49
movzx eax, byte [0x1801c2608]
test eax, eax
jne 0x18000cb85
jmp 0x18000cf49
mov dword [rbp + 4], 0xffffffff
lea rax, [rbp + 4]
mov qword [rsp + 0x28], rax
movzx eax, byte [rbp + 0x4d8]
mov byte [rsp + 0x20], al
lea r9, [rbp + 0x4d0]
mov r8, qword [rbp + 0x4e8]
mov rdx, qword [rbp + 0x4e0]
lea rcx, [rbp + 0x28]
call fcn.18000e3d0
nop
movzx eax, byte [0x1801c2609]
test eax, eax
je 0x18000cbd3
cmp dword [0x1801bd028], 0xffffffff
jne 0x18000cc4c
cmp dword [rbp + 4], 0xffffffff
je 0x18000cc47
movsxd rax, dword [rbp + 4]
mov rdx, rax
lea rcx, [0x1801c97e0]
call fcn.180008020
movzx eax, byte [rax + 9]
test eax, eax
je 0x18000cc47
movsxd rax, dword [rbp + 4]
mov rdx, rax
lea rcx, [0x1801c97e0]
call fcn.180008020
mov rax, qword [rax]
add rax, 0x34c
mov rcx, rax
call fcn.180006700
mov dword [rbp + 0x54], eax
cmp dword [rbp + 0x54], 0
jbe 0x18000cc47
mov eax, dword [rbp + 4]
mov dword [0x1801bd028], eax
mov byte [0x1801c2609], 1
lea rcx, [rbp + 0x3a8]
call fcn.18000e660
mov rax, qword [rax]
mov qword [0x1801c2610], rax
jmp 0x18000cf49
movsxd rax, dword [0x1801bd028]
mov rdx, rax
lea rcx, [0x1801c97e0]
call fcn.180008020
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x78]
movzx eax, byte [rax + 9]
test eax, eax
jne 0x18000cc88
mov byte [0x1801c2609], 0
mov dword [0x1801bd028], 0xffffffff
jmp 0x18000cf49
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
add rax, 0x34c
mov rcx, rax
call fcn.180006700
mov dword [rbp + 0x94], eax
cmp dword [rbp + 0x94], 0
ja 0x18000ccc2
mov byte [0x1801c2609], 0
mov dword [0x1801bd028], 0xffffffff
jmp 0x18000cf49
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
add rax, 0xee4
mov rdx, rax
lea rcx, [rbp + 0xb8]
call fcn.1800067b0
nop
movss xmm0, dword [rbp + 0xc0]
addss xmm0, dword [0x180156c78]
movss dword [rbp + 0xc0], xmm0
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
add rax, 0x408
mov rcx, rax
call fcn.18000c960
movss dword [rbp + 0x494], xmm0
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
add rax, 0x410
mov rcx, rax
call fcn.18000c960
movss dword [rbp + 0x498], xmm0
mov rax, qword [rbp + 0x78]
mov rax, qword [rax]
add rax, 0x428
mov rcx, rax
call fcn.18000c960
movss dword [rbp + 0x49c], xmm0
movss xmm3, dword [rbp + 0x49c]
movss xmm2, dword [rbp + 0x498]
movss xmm1, dword [rbp + 0x494]
lea rcx, [rbp + 0xe8]
call fcn.180138180
nop
lea rdx, [rbp + 0xb8]
mov rcx, qword [rbp + 0x4e0]
call fcn.1801398f0
movss dword [rbp + 0x114], xmm0
cvtsi2ss xmm0, dword [0x1801bd024]
movss xmm1, dword [rbp + 0x114]
divss xmm1, xmm0
movaps xmm0, xmm1
movss dword [rbp + 0x134], xmm0
movss xmm2, dword [rbp + 0x134]
lea rdx, [rbp + 0x3c4]
lea rcx, [rbp + 0xe8]
call fcn.1801385d0
mov r8, rax
lea rdx, [rbp + 0x158]
lea rcx, [rbp + 0xb8]
call fcn.180138820
nop
mov rax, qword [0x1801c9760]
mov rcx, qword [0x1801c1f20]
lea rax, [rax + rcx + 0x28]
mov rcx, rax
call fcn.180006850
mov qword [rbp + 0x188], rax
cmp qword [rbp + 0x188], 0
je 0x18000cf49
mov rax, qword [rbp + 0x188]
add rax, 0x44
mov rdx, rax
lea rcx, [rbp + 0x1a8]
call fcn.1800067b0
nop
lea r8, [rbp + 0x158]
mov rdx, qword [rbp + 0x4e0]
lea rcx, [rbp + 0x3e4]
call fcn.18000cf80
lea rcx, [rbp + 0x450]
mov rdi, rcx
mov rsi, rax
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
lea rdx, [rbp + 0x450]
lea rcx, [rbp + 0x1d8]
call fcn.18000df40
nop
movss xmm0, dword [rbp + 0x1d8]
subss xmm0, dword [rbp + 0x1a8]
divss xmm0, dword [0x1801bd02c]
addss xmm0, dword [rbp + 0x1a8]
movss dword [rbp + 0x1d8], xmm0
movss xmm0, dword [rbp + 0x1dc]
subss xmm0, dword [rbp + 0x1ac]
divss xmm0, dword [0x1801bd02c]
addss xmm0, dword [rbp + 0x1ac]
movss dword [rbp + 0x1dc], xmm0
lea rax, [rbp + 0x480]
lea rcx, [rbp + 0x1d8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x188]
add rax, 0x44
lea rdx, [rbp + 0x480]
mov rcx, rax
call fcn.18000ca20
nop
lea rcx, [rbp + 0x208]
call fcn.18000e660
nop
lea r8, [0x1801c2610]
lea rdx, [rbp + 0x208]
lea rcx, [rbp + 0x408]
call fcn.18000c7b0
mov rdx, rax
lea rcx, [rbp + 0x428]
call fcn.18000c8f0
mov rcx, rax
call fcn.18000e390
cmp rax, 0x1f4
jg 0x18000cf43
movzx eax, byte [0x1801c260a]
test eax, eax
jne 0x18000cf49
call fcn.18000e290
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x180156980]
call fcn.180149890
mov rcx, qword [rbp + 0x4a0]
xor rcx, rbp
call fcn.180149d60
lea rsp, [rbp + 0x4b0]
pop rdi
pop rsi
pop rbp
ret