Function at 0x1400c5770
Capabilities:
Check for time delay via gettickcount
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x70
test dword [rcx + 0x34], 0x20000000
mov rbx, rcx
mov r14d, r9d
lea rcx, [rsp + 0x40]
mov r15d, r8d
mov r12, rdx
je 0x1400c57a9
call qword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x1400c57ae
call fcn.14007e210
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ebp, ebp
mov ecx, 0x10
test ax, ax
sets bpl
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov r13d, dword [rsp + 0xc0]
xor ecx, ecx
test ax, ax
mov eax, dword [rsp + 0xd8]
sets cl
mov r9d, r13d
mov edx, ebp
mov dword [rsp + 0xa0], ecx
mov r8d, ecx
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400c62c0
mov esi, eax
test ebp, ebp
jne 0x1400c5813
cdq
xor eax, edx
cmp eax, edx
jne 0x1400c5813
xor eax, eax
jmp 0x1400c5aa9
mov eax, dword [rbx + 0x34]
bt eax, 0x13
jae 0x1400c5827
test ebp, ebp
je 0x1400c5827
mov edx, 1
jmp 0x1400c5829
xor edx, edx
test al, 2
je 0x1400c5836
test ebp, ebp
jne 0x1400c5836
lea ecx, [rbp + 1]
jmp 0x1400c5838
xor ecx, ecx
mov r8d, 0x800
test r14d, r14d
je 0x1400c5856
mov eax, dword [rbx + 0x74]
test al, 1
je 0x1400c5856
test r8d, eax
je 0x1400c5856
mov eax, 1
jmp 0x1400c5858
xor eax, eax
mov qword [rsp + 0xa8], rdi
test r13d, r13d
jne 0x1400c5884
test ecx, ecx
jne 0x1400c58d7
test eax, eax
jne 0x1400c58d7
test edx, edx
jne 0x1400c58d7
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x78
jge 0x1400c58d7
xor eax, eax
jmp 0x1400c5aa1
mov edi, dword [rsp + 0xd0]
mov rcx, rbx
mov edx, edi
call fcn.1400c8360
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jl 0x1400c58d0
test edi, edi
je 0x1400c58d7
test dword [rbx + 0x34], 0x10000000
je 0x1400c58d7
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, dword [rbx + 0x6c]
mov ecx, dword [rbx + 0x98]
mov edx, eax
call fcn.14000fde0
test eax, eax
je 0x1400c58d7
inc dword [rbx + 0x9c]
xor eax, eax
jmp 0x1400c5aa1
test r12, r12
je 0x1400c58ef
test dword [rbx + 0x34], 0x10000
je 0x1400c58ef
xor edx, edx
mov rcx, r12
call fcn.1400dbbd0
mov edi, r15d
mov eax, r15d
and r15d, 0xc0000
shr edi, 2
and eax, 0x30000
and edi, 0x400000
or edi, eax
shr edi, 2
or edi, r15d
shr edi, 0xe
cmp dword [rsp + 0xa0], 0
je 0x1400c5922
or edi, 4
test ebp, ebp
je 0x1400c5929
or edi, 8
mov ebp, 0x1000
test r14d, r14d
jne 0x1400c594a
cmp qword [rbx + 0x50], 0
jne 0x1400c594a
test r13d, r13d
jne 0x1400c594a
test dword [rbx + 0x34], ebp
jne 0x1400c594a
lea r14d, [r13 + 1]
neg esi
call fcn.1400db140
xor r15d, r15d
cmp r12, rax
mov eax, dword [rbx + 0x9c]
mov ecx, r15d
sete cl
test eax, eax
je 0x1400c5971
inc eax
mov dword [rbx + 0x9c], r15d
imul esi, eax
test edi, edi
je 0x1400c597b
test byte [rbx + 0x34], 4
jne 0x1400c5982
mov eax, dword [rbx + 0x34]
test al, 1
je 0x1400c59cb
movzx ecx, word [rsp + 0x44]
movzx eax, word [rsp + 0x40]
movzx r9d, si
shl ecx, 0x10
shl r9d, 0x10
mov r8d, 0x20e
or rcx, rax
movzx eax, di
mov rdx, r12
or r9, rax
mov eax, 0x20a
test r14d, r14d
mov qword [rsp + 0x20], rcx
lea rcx, [0x14026d730]
cmovne r8d, eax
call fcn.140083fd0
jmp 0x1400c5a7c
bt eax, 0x15
jae 0x1400c59d5
test ecx, ecx
jne 0x1400c59da
test r13d, r13d
je 0x1400c5a1e
mov r9d, 0x28
test r14d, r14d
mov eax, 0x800
cmovne ebp, eax
lea r8, [rsp + 0x48]
lea rcx, [0x14026d730]
lea edx, [r9 - 0x27]
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x60], r15d
call fcn.140084300
jmp 0x1400c5a7c
movzx ecx, word [rsp + 0x44]
movzx eax, word [rsp + 0x40]
movzx r9d, si
shl ecx, 0x10
shl r9d, 0x10
mov r8d, 0x20e
or rcx, rax
movzx eax, di
mov rdx, r12
or r9, rax
mov eax, 0x20a
test r14d, r14d
cmovne r8d, eax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0xc8
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rcx
lea rcx, [0x14026d730]
call fcn.1400841c0
add dword [rbx + 0x8c], esi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x94], r15d
mov dword [rbx + 0x98], eax
mov eax, dword [rbx + 0x58]
mov dword [rbx + 0x58], r15d
cdq
xor eax, edx
sub eax, edx
mov rdi, qword [rsp + 0xa8]
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rsi
ret