Function at 0x1800057f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x180063020]
xor rax, rsp
mov qword [rbp - 8], rax
cmp byte [0x18008ca70], 0
je 0x180005c09
mov rax, qword [0x18008cbe0]
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rsi
movabs rsi, 0x7ffd5d15ff558
mov rbx, qword [rax + 0x18]
mov rax, qword [0x18008cb30]
add rbx, qword [rax + 8]
je 0x180005896
lea rax, [rbx - 0xaa70aa8]
cmp rax, rsi
ja 0x180005896
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180005896
cmp dword [rbp - 0x20], 0x1000
jne 0x180005896
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x180005896
test al, 0x66
je 0x180005896
mov rax, qword [rbp - 0x40]
sub rax, rbx
add rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x180005896
mov rax, qword [rbx]
mov qword [0x18008c310], rax
mov rbx, qword [0x18008c310]
add rbx, 0x15a4
je 0x1800058fa
lea rax, [rbx - 0xaa70aa8]
cmp rax, rsi
ja 0x1800058fa
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1800058fa
cmp dword [rbp - 0x20], 0x1000
jne 0x1800058fa
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x1800058fa
test al, 0x66
je 0x1800058fa
mov rax, qword [rbp - 0x40]
sub rax, rbx
add rax, qword [rbp - 0x28]
cmp rax, 4
jb 0x1800058fa
mov eax, dword [rbx]
mov dword [0x18008c31c], eax
mov eax, dword [0x18008c31c]
cmp eax, 0xffffffff
je 0x180005bf9
shr eax, 9
and eax, 0x3f
mov qword [rsp + 0x90], rdi
shl eax, 3
mov edx, eax
mov rax, qword [0x18008cb08]
mov rbx, qword [rax + 0x108]
add rbx, 0x10
add rbx, rdx
je 0x180005982
lea rax, [rbx - 0xaa70aa8]
cmp rax, rsi
ja 0x180005982
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180005982
cmp dword [rbp - 0x20], 0x1000
jne 0x180005982
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x180005982
test al, 0x66
je 0x180005982
mov rax, qword [rbp - 0x40]
sub rax, rbx
add rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x180005982
mov rbx, qword [rbx]
mov eax, dword [0x18008c31c]
and eax, 0x1ff
imul ecx, eax, 0x78
add rbx, rcx
je 0x1800059e4
lea rax, [rbx - 0xaa70aa8]
cmp rax, rsi
ja 0x1800059e4
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x1800059e4
cmp dword [rbp - 0x20], 0x1000
jne 0x1800059e4
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x1800059e4
test al, 0x66
je 0x1800059e4
mov rax, qword [rbp - 0x40]
sub rax, rbx
add rax, qword [rbp - 0x28]
cmp rax, 8
jb 0x1800059e4
mov rbx, qword [rbx]
mov rax, qword [0x18008cbe0]
mov edi, dword [rax + 0x38]
add rdi, rbx
je 0x180005a43
lea rax, [rdi - 0xaa70aa8]
cmp rax, rsi
ja 0x180005a43
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180005a43
cmp dword [rbp - 0x20], 0x1000
jne 0x180005a43
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x180005a43
test al, 0x66
je 0x180005a43
mov rax, qword [rbp - 0x40]
sub rax, rdi
add rax, qword [rbp - 0x28]
cmp rax, 4
jb 0x180005a43
mov edi, dword [rdi]
jmp 0x180005a46
mov edi, dword [rbp - 0x10]
mov rax, qword [0x18008cbe0]
mov ecx, dword [rax + 0x28]
add rbx, rcx
je 0x180005aa5
lea rax, [rbx - 0xaa70aa8]
cmp rax, rsi
ja 0x180005aa5
mov r8d, 0x30
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x180005aa5
cmp dword [rbp - 0x20], 0x1000
jne 0x180005aa5
mov eax, dword [rbp - 0x1c]
test eax, 0x101
jne 0x180005aa5
test al, 0x66
je 0x180005aa5
mov rax, qword [rbp - 0x40]
sub rax, rbx
add rax, qword [rbp - 0x28]
cmp rax, 4
jb 0x180005aa5
mov eax, dword [rbx]
jmp 0x180005aa8
mov eax, dword [rbp - 0x10]
cmp byte [0x1800630d8], 0
je 0x180005abd
cmp dword [0x18008c318], eax
je 0x180005bf1
test edi, edi
jle 0x180005bf1
mov rax, qword gs:[0x58]
mov ecx, dword [0x18008ca3c]
mov edx, 4
mov rcx, qword [rax + rcx*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18008cd38], eax
jle 0x180005b4c
lea rcx, [0x18008cd38]
call fcn.180051980
cmp dword [0x18008cd38], 0xffffffff
jne 0x180005b4c
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180005b1b
imul rax, rax, 0x64
jmp 0x180005b39
cqo
idiv rbx
mov r8, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rdx, r8, 0x3b9aca00
add rax, rdx
lea rcx, [0x18008cd38]
mov qword [0x18008cd30], rax
call fcn.180051920
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180005b6a
imul rbx, rax, 0x64
jmp 0x180005b8b
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
cvttss2si rcx, dword [0x1800630d4]
mov rax, rbx
sub rax, qword [0x18008cd30]
imul rdx, rcx, 0xf4240
cmp rax, rdx
je 0x180005bac
jl 0x180005bf1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x180005bea
xor edi, edi
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
xor edx, edx
lea ecx, [rdi + 2]
call qword [sym.imp.USER32.dll_mouse_event]
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
lea ecx, [rdi + 4]
xor edx, edx
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [0x18008cd30], rbx
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.180051340
add rsp, 0x70
pop rbp
ret