Function at 0x180008600
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x180057040]
xor rax, rsp
mov qword [rbp - 8], rax
mov rsi, rdx
mov r15, rcx
mov edx, dword [0x180057c0c]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rdi, qword [rax + rdx*8]
mov eax, dword [rdi + rcx]
cmp dword [0x180057c8c], eax
jle 0x180008683
lea rcx, [0x180057c8c]
call fcn.180045cb8
cmp dword [0x180057c8c], 0xffffffff
jne 0x180008683
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
cmp byte [0x1800570e8], 0
jne 0x1800086a2
mov qword [rbp - 0x40], 0xa
lea rcx, [rbp - 0x40]
call fcn.180004c00
jmp 0x180008a4d
call fcn.180001d20
mov rdx, rsi
mov rcx, rax
call fcn.180043210
mov rbx, rax
mov ecx, 0x10
call fcn.180045d30
mov r14, rax
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov qword [rbp - 0x18], rax
call fcn.180001d20
mov rdx, rsi
mov rcx, rax
call fcn.1800432d0
mov rbx, rax
mov ecx, 0x10
call fcn.180045d30
mov r12, rax
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov qword [rbp - 0x10], rax
call fcn.180001d20
mov rdx, rsi
mov rcx, rax
call fcn.180043370
mov rbx, rax
mov ecx, 0x10
call fcn.180045d30
mov r13, rax
mov qword [rbp - 0x40], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax], rbx
mov qword [rax + 8], rsi
mov qword [rbp - 0x40], rax
call fcn.180004840
cmp byte [rax + 0x58], 0
je 0x180008762
mov qword [rbp - 0x40], 0xa
lea rcx, [rbp - 0x40]
call fcn.180004c00
jmp 0x1800089e2
mov r8, rsi
lea rdx, [rbp - 0x38]
mov rcx, r14
call fcn.1800437f0
nop
mov ebx, dword [0x180057c8c]
mov esi, 4
cmp ebx, dword [rdi + rsi]
jle 0x1800087b7
lea rcx, [0x180057c8c]
call fcn.180045cb8
mov ebx, dword [0x180057c8c]
cmp ebx, 0xffffffff
jne 0x1800087b7
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
mov ebx, dword [0x180057c8c]
cmp byte [0x1800570eb], 0
je 0x1800087dc
lea rcx, [rbp - 0x38]
call fcn.180004ae0
cmp rax, 0xffffffffffffffff
jne 0x1800087dc
mov qword [rbp - 0x40], 0xa
jmp 0x180008986
cmp ebx, dword [rdi + rsi]
jle 0x18000880e
lea rcx, [0x180057c8c]
call fcn.180045cb8
cmp dword [0x180057c8c], 0xffffffff
jne 0x18000880e
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
cvttss2si ecx, dword [0x1800570f0]
call fcn.180008340
mov ebx, eax
mov ecx, dword [0x180057c8c]
cmp ecx, dword [rdi + rsi]
jle 0x18000885d
lea rcx, [0x180057c8c]
call fcn.180045cb8
mov ecx, dword [0x180057c8c]
cmp ecx, 0xffffffff
jne 0x18000885d
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
mov ecx, dword [0x180057c8c]
cmp byte [0x1800570ea], 0
je 0x1800088bc
cmp ecx, dword [rdi + rsi]
jle 0x1800088a0
lea rcx, [0x180057c8c]
call fcn.180045cb8
mov ecx, dword [0x180057c8c]
cmp ecx, 0xffffffff
jne 0x1800088a0
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
mov ecx, dword [0x180057c8c]
movss xmm0, dword [0x18004ef34]
divss xmm0, dword [0x1800570f0]
mulss xmm0, dword [0x18004eddc]
cvttss2si ebx, xmm0
cmp ecx, dword [rdi + rsi]
jle 0x1800088ee
lea rcx, [0x180057c8c]
call fcn.180045cb8
cmp dword [0x180057c8c], 0xffffffff
jne 0x1800088ee
lea rcx, [0x180047b00]
call fcn.1800460c4
lea rcx, [0x180057c8c]
call fcn.180045c4c
cmp byte [0x1800570ed], 0
je 0x18000891c
mov rax, qword [r15 + 0x10]
sub rax, qword [r15 + 8]
and rax, 0xfffffffffffffffc
cmp rax, 0xa0
jne 0x18000891c
mov qword [rbp - 0x40], 0x19
lea rcx, [rbp - 0x40]
call fcn.180004c00
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 8
jb 0x180008938
mov qword [rbp - 0x40], 0xa
jmp 0x180008986
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, rax
xor r9d, r9d
mov edx, 0x201
mov r8d, 2
call qword [sym.imp.USER32.dll_PostMessageW]
movsxd rbx, ebx
mov qword [rbp - 0x40], rbx
lea rcx, [rbp - 0x40]
call fcn.180004c00
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, rax
xor r9d, r9d
mov edx, 0x202
mov r8d, 2
call qword [sym.imp.USER32.dll_PostMessageW]
mov qword [rbp - 0x40], rbx
lea rcx, [rbp - 0x40]
call fcn.180004c00
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0xf
jbe 0x1800089ce
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800089c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800089c9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800460e4
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
mov rcx, qword [r13 + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [r13]
call r8
nop
mov edx, 0x10
mov rcx, r13
call fcn.1800460e4
nop
mov rcx, qword [r12 + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [r12]
call r8
nop
mov edx, 0x10
mov rcx, r12
call fcn.1800460e4
nop
mov rcx, qword [r14 + 8]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [r14]
call r8
nop
mov edx, 0x10
mov rcx, r14
call fcn.1800460e4
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180045bf0
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret