Function at 0x18007c700
Capabilities:
Log keystrokes via polling

Disassembly:
push r15
sub rsp, 0x30
mov r8, qword [0x1801ceea0]
mov r15, rcx
mov rax, qword [0x1801d1cb8]
shl rax, 5
lea rdx, [r8 + 0x18]
add rdx, rax
cmp qword [rax + r8 + 0x10], 8
jbe 0x18007c72d
mov rdx, qword [rdx]
cmp byte [rdx], 0
je 0x18007cad9
mov rax, qword [0x1801d1cc8]
lea rcx, [r8 + 0x18]
shl rax, 5
add rcx, rax
cmp qword [rax + r8 + 0x10], 8
jbe 0x18007c753
mov rcx, qword [rcx]
mov ecx, dword [rcx]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18007cad9
mov rcx, qword [0x1801d1218]
mov rax, qword [rcx]
mov rdx, qword [rax + 0x100]
call rdx
test al, al
je 0x18007cad9
mov eax, dword [0x1801d11fc]
mov qword [rsp + 0x48], rbp
mov rbp, qword [0x1801d12a0]
test al, 1
jne 0x18007c7b5
or eax, 1
movabs rcx, 0xdccf003ada4c08e3
mov dword [0x1801d11fc], eax
call fcn.180076d90
mov dword [0x1801d1210], eax
jmp 0x18007c7bb
mov eax, dword [0x1801d1210]
mov eax, eax
cmp byte [rax + rbp], 0
je 0x18007cad4
mov rax, qword [0x1801d1228]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x20], r14
mov rbx, qword [rax + 0x58]
mov eax, dword [0x1801d1214]
test al, 1
jne 0x18007c806
or eax, 1
movabs rcx, 0x9241b8778dd136bd
mov dword [0x1801d1214], eax
call fcn.180076d90
mov dword [0x1801d1484], eax
jmp 0x18007c80c
mov eax, dword [0x1801d1484]
mov edx, eax
mov edx, dword [rdx + rbp]
cmp edx, 0xffffffff
jne 0x18007c81a
xor ebx, ebx
jmp 0x18007c82b
and edx, 0x7fff
mov rcx, rbx
call fcn.18005f9f0
mov rbx, rax
mov ecx, dword [0x1801d1798]
test cl, 1
jne 0x18007c856
or ecx, 1
mov dword [0x1801d1798], ecx
movabs rcx, 0x7434adc5050d372d
call fcn.180076d90
mov dword [0x1801d1764], eax
jmp 0x18007c85c
mov eax, dword [0x1801d1764]
mov eax, eax
mov r14d, dword [rax + rbx]
cmp r14d, 0xffffffff
je 0x18007caca
mov eax, dword [0x1801d1770]
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x28], r12
test al, 1
jne 0x18007c8a5
or eax, 1
movabs rcx, 0x7e2f68ebc8d700ee
mov dword [0x1801d1770], eax
call fcn.180076d90
mov dword [0x1801d17e4], eax
jmp 0x18007c8ab
mov eax, dword [0x1801d17e4]
mov edi, eax
movabs r12, 0x4c02f7486c31fefa
mov eax, dword [0x1801d1788]
add rdi, rbx
test al, 1
jne 0x18007c8e5
or eax, 1
mov rcx, r12
mov dword [0x1801d1788], eax
call fcn.180076d90
mov ecx, eax
mov dword [0x1801d176c], eax
mov eax, dword [0x1801d1788]
jmp 0x18007c8eb
mov ecx, dword [0x1801d176c]
mov edx, dword [0x1801d1760]
mov esi, ecx
add rsi, rdi
test dl, 1
jne 0x18007c929
or edx, 1
movabs rcx, 0xc3e5587458bf9220
mov dword [0x1801d1760], edx
call fcn.180076d90
mov ecx, dword [0x1801d176c]
mov edx, eax
mov dword [0x1801d17dc], eax
mov eax, dword [0x1801d1788]
jmp 0x18007c92f
mov edx, dword [0x1801d17dc]
mov edi, edx
add rdi, rbx
test al, 1
jne 0x18007c951
or eax, 1
mov rcx, r12
mov dword [0x1801d1788], eax
call fcn.180076d90
mov ecx, eax
mov dword [0x1801d176c], eax
mov rax, qword [0x1801d1cd8]
mov r12, qword [rsp + 0x28]
shl rax, 5
add rax, qword [0x1801ceea0]
cmp qword [rax + 0x10], 8
lea rdx, [rax + 0x18]
jbe 0x18007c976
mov rdx, qword [rdx]
movss xmm0, dword [rsi]
mov eax, ecx
subss xmm0, dword [rax + rdi]
cvtps2pd xmm1, xmm0
movss xmm0, dword [rdx]
addsd xmm1, qword [str.333333]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
ja 0x18007cac0
mov rax, qword [0x1801d1228]
mov edx, r14d
mov rcx, qword [rax + 0x58]
call fcn.18005f9f0
mov rcx, qword [0x1801d1cd0]
mov rdi, rax
shl rcx, 5
add rcx, qword [0x1801ceea0]
cmp qword [rcx + 0x10], 8
lea rdx, [rcx + 0x18]
jbe 0x18007c9d3
mov rdx, qword [rdx]
movss xmm1, dword [rdx]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jp 0x18007c9e5
je 0x18007ca7c
mov ecx, dword [0x1801d16d8]
movabs rsi, 0x396bd442165e47e8
test cl, 1
jne 0x18007ca1b
or ecx, 1
mov dword [0x1801d16d8], ecx
mov rcx, rsi
call fcn.180076d90
mov ecx, dword [0x1801d16d8]
mov edx, eax
mov dword [0x1801d16e4], eax
jmp 0x18007ca21
mov edx, dword [0x1801d16e4]
mov eax, edx
cmp byte [rax + rdi], 0
je 0x18007cac0
test cl, 1
jne 0x18007ca51
or ecx, 1
mov dword [0x1801d16d8], ecx
mov rcx, rsi
call fcn.180076d90
mov ecx, dword [0x1801d16d8]
mov edx, eax
mov dword [0x1801d16e4], eax
mov ebx, edx
test cl, 1
jne 0x18007ca71
or ecx, 1
mov dword [0x1801d16d8], ecx
mov rcx, rsi
call fcn.180076d90
mov edx, eax
mov dword [0x1801d16e4], eax
mov eax, edx
movzx ecx, byte [rax + rbp]
cmp byte [rbx + rdi], cl
je 0x18007cac0
mov edx, dword [0x1801d0bc4]
mov rax, qword [0x1801d1ce0]
inc edx
shl rax, 5
add rax, qword [0x1801ceea0]
mov dword [0x1801d0bc4], edx
cmp qword [rax + 0x10], 8
lea rcx, [rax + 0x18]
jbe 0x18007caaa
mov rcx, qword [rcx]
cmp edx, dword [rcx]
jl 0x18007cac0
mov dword [0x1801d0bc4], 0
mov qword [r15 + 0x50], 1
mov rdi, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov r14, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x48]
add rsp, 0x30
pop r15
ret