Function at 0x1400c69d0
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 ebp, r8d
mov r15, rdx
je 0x1400c6a09
call qword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x1400c6a0e
call fcn.14007dfc0
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r12d, r12d
mov ecx, 0x10
test ax, ax
sets r12b
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, r12d
mov dword [rsp + 0xa0], ecx
mov r8d, ecx
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400c75a0
mov esi, eax
test r12d, r12d
jne 0x1400c6a81
cdq
xor eax, edx
cmp eax, edx
jne 0x1400c6a76
xor eax, eax
jmp 0x1400c6d24
mov eax, dword [rsp + 0xe0]
xor edx, edx
jmp 0x1400c6a9e
test dword [rbx + 0x34], 0x80000
mov eax, dword [rsp + 0xe0]
jne 0x1400c6a99
test eax, eax
jne 0x1400c6a99
xor edx, edx
jmp 0x1400c6a9e
mov edx, 1
test r12d, r12d
jne 0x1400c6ab4
test byte [rbx + 0x34], 2
jne 0x1400c6aad
test eax, eax
je 0x1400c6ab4
mov ecx, 1
jmp 0x1400c6ab6
xor ecx, ecx
mov r8d, 0x800
test r14d, r14d
je 0x1400c6ad4
mov eax, dword [rbx + 0x74]
test al, 1
je 0x1400c6ad4
test r8d, eax
je 0x1400c6ad4
mov eax, 1
jmp 0x1400c6ad6
xor eax, eax
mov qword [rsp + 0xa8], rdi
test r13d, r13d
jne 0x1400c6b02
test ecx, ecx
jne 0x1400c6b55
test eax, eax
jne 0x1400c6b55
test edx, edx
jne 0x1400c6b55
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x78
jge 0x1400c6b55
xor eax, eax
jmp 0x1400c6d1c
mov edi, dword [rsp + 0xd0]
mov rcx, rbx
mov edx, edi
call fcn.1400c9650
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jl 0x1400c6b4e
test edi, edi
je 0x1400c6b55
test dword [rbx + 0x34], 0x10000000
je 0x1400c6b55
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov r8d, dword [rbx + 0x6c]
mov ecx, dword [rbx + 0x98]
mov edx, eax
call fcn.14000f450
test eax, eax
je 0x1400c6b55
inc dword [rbx + 0x9c]
xor eax, eax
jmp 0x1400c6d1c
test r15, r15
je 0x1400c6b6d
test dword [rbx + 0x34], 0x10000
je 0x1400c6b6d
xor edx, edx
mov rcx, r15
call fcn.1400dd060
mov edi, ebp
mov eax, ebp
and ebp, 0xc0000
shr edi, 2
and eax, 0x30000
and edi, 0x400000
or edi, eax
shr edi, 2
or edi, ebp
shr edi, 0xe
cmp dword [rsp + 0xa0], 0
je 0x1400c6b9c
or edi, 4
test r12d, r12d
je 0x1400c6ba4
or edi, 8
mov ebp, 0x1000
test r14d, r14d
jne 0x1400c6bc5
cmp qword [rbx + 0x50], 0
jne 0x1400c6bc5
test r13d, r13d
jne 0x1400c6bc5
test dword [rbx + 0x34], ebp
jne 0x1400c6bc5
lea r14d, [r13 + 1]
neg esi
call fcn.1400dc5b0
xor r12d, r12d
cmp r15, rax
mov eax, dword [rbx + 0x9c]
mov ecx, r12d
sete cl
test eax, eax
je 0x1400c6bec
inc eax
mov dword [rbx + 0x9c], r12d
imul esi, eax
test edi, edi
je 0x1400c6bf6
test byte [rbx + 0x34], 4
jne 0x1400c6bfd
mov eax, dword [rbx + 0x34]
test al, 1
je 0x1400c6c46
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, r15
or r9, rax
mov eax, 0x20a
test r14d, r14d
mov qword [rsp + 0x20], rcx
lea rcx, [0x1402707e0]
cmovne r8d, eax
call fcn.140083ea0
jmp 0x1400c6cf7
bt eax, 0x15
jae 0x1400c6c50
test ecx, ecx
jne 0x1400c6c55
test r13d, r13d
je 0x1400c6c99
mov r9d, 0x28
test r14d, r14d
mov eax, 0x800
cmovne ebp, eax
lea r8, [rsp + 0x48]
lea rcx, [0x1402707e0]
lea edx, [r9 - 0x27]
mov dword [rsp + 0x48], r12d
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x5c], ebp
mov dword [rsp + 0x60], r12d
call fcn.1400841d0
jmp 0x1400c6cf7
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, r15
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], r12d
mov qword [rsp + 0x20], rcx
lea rcx, [0x1402707e0]
call fcn.140084090
add dword [rbx + 0x8c], esi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rbx + 0x94], r12d
mov dword [rbx + 0x98], eax
mov eax, dword [rbx + 0x58]
mov dword [rbx + 0x58], r12d
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