Function at 0x140003c60
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rsi
mov eax, 0x2470
call fcn.1400cb8f0
sub rsp, rax
mov rax, qword [0x140177010]
xor rax, rsp
mov qword [rsp + 0x2460], rax
cmp byte [0x140177e00], 0
je 0x140003dc2
mov ecx, dword [0x140177e04]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140003cb8
mov ecx, dword [0x140177e08]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140003dc2
lea rbx, [0x14017a9e0]
mov qword [rsp + 0x30], rbx
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140003cdd
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x14017aa2c], 0x7fffffff
jne 0x140003cff
mov dword [0x14017aa2c], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
lea rsi, [0x140002940]
mov qword [rsp + 0x28], rsi
lea rax, [0x140002a00]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8d, [r9 + 0x50]
lea rdx, [0x1401785e0]
lea rcx, [rsp + 0x60]
call fcn.1400cb268
nop
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
lea rbx, [rsp + 0x80]
cmp byte [rbx - 0x18], 0
je 0x140003d93
cmp dword [rbx], 0
jle 0x140003dab
mov ecx, dword [rbx + 0x10]
test ecx, ecx
je 0x140003dab
movzx edx, byte [rbx - 0x17]
lea eax, [rdx - 2]
cmp al, 1
ja 0x140003d93
cmp byte [0x140177e01], 0
jne 0x140003d6f
cmp ecx, edx
je 0x140003dab
mov eax, dword [rbx + 0x14]
dec eax
cmp eax, 0x63
ja 0x140003dab
lea rdx, [rbx + 0x50]
lea rcx, [rsp + 0x38]
call fcn.1400019f0
mov rcx, rax
call fcn.140002140
test al, al
je 0x140003de3
add rbx, 0x90
lea rax, [rbx - 0x20]
lea rcx, [rsp + 0x2460]
cmp rax, rcx
jne 0x140003d45
mov r9, rsi
mov edx, 0x90
lea r8d, [rdx - 0x50]
lea rcx, [rsp + 0x60]
call fcn.1400caf0c
nop
mov rcx, qword [rsp + 0x2460]
xor rcx, rsp
call fcn.1400caeb0
mov rbx, qword [rsp + 0x2480]
add rsp, 0x2470
pop rsi
ret
mov edx, 0x14
lea ecx, [rdx - 0xf]
call fcn.140003730
add eax, dword [0x140177e0c]
cdqe
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.1400035a0
lea rcx, [0x140178590]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140003ef1
cmp dword [0x1401785dc], 0x7fffffff
je 0x140003e8b
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rax + 2]
call qword [sym.imp.USER32.dll_mouse_event]
lea rcx, [0x140178590]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov edx, 0xa
lea ecx, [rdx - 5]
call fcn.140003730
movsxd rcx, eax
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x30]
call fcn.1400035a0
lea rcx, [0x140178590]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140003ef1
cmp dword [0x1401785dc], 0x7fffffff
jne 0x140003ea1
mov dword [0x1401785dc], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov qword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
lea rcx, [0x140178590]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov edx, 0x14
lea ecx, [rdx - 0xf]
call fcn.140003730
add eax, dword [0x140177e10]
cdqe
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
call fcn.1400035a0
jmp 0x140003dab
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3