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

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
mov qword [rax - 0x60], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov ebp, r9d
mov r14, r8
mov rbx, rdx
mov rdi, rcx
test dword [rcx + 0x3c], 0x20000000
lea rcx, [rsp + 0x40]
je 0x1400e8879
call qword [sym.imp.USER32.dll_GetCursorPos]
jmp 0x1400e887e
call fcn.140091c80
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor r15d, r15d
test ax, ax
sets r15b
mov ecx, 0x10
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor ecx, ecx
test ax, ax
sets cl
mov dword [rsp + 0xe0], ecx
mov qword [rsp + 0x28], rbx
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x20], eax
mov r13d, dword [rsp + 0x108]
mov r9d, r13d
mov r8d, ecx
mov edx, r15d
mov rcx, rdi
call fcn.1400e97b0
mov esi, eax
test r15d, r15d
jne 0x1400e88f1
cdq
xor eax, edx
cmp eax, edx
je 0x1400e896b
mov eax, dword [rsp + 0x128]
jmp 0x1400e8905
mov eax, dword [rsp + 0x128]
test dword [rdi + 0x3c], 0x80000
jne 0x1400e8909
test eax, eax
jne 0x1400e8909
xor edx, edx
jmp 0x1400e890e
mov edx, 1
test r15d, r15d
jne 0x1400e8924
test byte [rdi + 0x3c], 2
jne 0x1400e891d
test eax, eax
je 0x1400e8924
mov ecx, 1
jmp 0x1400e8926
xor ecx, ecx
mov r8d, 0x800
mov r12d, dword [rsp + 0x100]
test r12d, r12d
je 0x1400e894c
mov eax, dword [rdi + 0x7c]
test al, 1
je 0x1400e894c
test r8d, eax
je 0x1400e894c
mov eax, 1
jmp 0x1400e894e
xor eax, eax
test r13d, r13d
jne 0x1400e8972
test ecx, ecx
jne 0x1400e89c5
test eax, eax
jne 0x1400e89c5
test edx, edx
jne 0x1400e89c5
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x78
jge 0x1400e89c5
xor eax, eax
jmp 0x1400e8c59
mov ebx, dword [rsp + 0x118]
mov edx, ebx
mov rcx, rdi
call fcn.1400eb850
mov ecx, eax
mov eax, esi
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jl 0x1400e896b
test ebx, ebx
je 0x1400e89c5
test dword [rdi + 0x3c], 0x10000000
je 0x1400e89c5
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov r8d, dword [rdi + 0x74]
mov ecx, dword [rdi + 0xa4]
call fcn.140013280
test eax, eax
je 0x1400e89c5
inc dword [rdi + 0xa8]
xor eax, eax
jmp 0x1400e8c59
test r14, r14
je 0x1400e89dd
test dword [rdi + 0x3c], 0x10000
je 0x1400e89dd
xor edx, edx
mov rcx, r14
call fcn.140101670
mov ebx, ebp
shr ebx, 2
and ebx, 0x400000
mov eax, ebp
and eax, 0x30000
or ebx, eax
shr ebx, 2
and ebp, 0xc0000
or ebx, ebp
shr ebx, 0xe
cmp dword [rsp + 0xe0], 0
je 0x1400e8a0c
or ebx, 4
test r15d, r15d
je 0x1400e8a14
or ebx, 8
mov r15d, 0x1000
test r12d, r12d
jne 0x1400e8a37
cmp qword [rdi + 0x58], 0
jne 0x1400e8a37
test r13d, r13d
jne 0x1400e8a37
test dword [rdi + 0x3c], r15d
jne 0x1400e8a37
lea r12d, [r13 + 1]
neg esi
call fcn.1401009c0
xor ebp, ebp
mov ecx, ebp
cmp r14, rax
sete cl
mov eax, dword [rdi + 0xa8]
test eax, eax
je 0x1400e8a5b
inc eax
imul esi, eax
mov dword [rdi + 0xa8], ebp
test ebx, ebx
je 0x1400e8a65
test byte [rdi + 0x3c], 4
jne 0x1400e8a6c
mov eax, dword [rdi + 0x3c]
test al, 1
je 0x1400e8ab5
movzx ecx, word [rsp + 0x44]
shl ecx, 0x10
movzx eax, word [rsp + 0x40]
or rcx, rax
movzx r9d, si
shl r9d, 0x10
movzx eax, bx
or r9, rax
mov eax, 0x20a
mov r8d, 0x20e
test r12d, r12d
cmovne r8d, eax
mov qword [rsp + 0x20], rcx
mov rdx, r14
lea rcx, [0x1402ad8a0]
call fcn.14009a1a0
jmp 0x1400e8c36
bt eax, 0x15
jae 0x1400e8abf
test ecx, ecx
jne 0x1400e8ac8
test r13d, r13d
je 0x1400e8bd9
mov dword [rsp + 0x20], ebp
xor r9d, r9d
lea r8, str.Control_PanelDesktop
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x80]
call fcn.1400ec9c0
nop
mov dword [rsp + 0xe0], ebp
mov qword [rsp + 0x20], rbp
lea r9, [rsp + 0xe0]
lea r8, [rsp + 0x48]
lea rdx, str.MouseWheelRouting
lea rcx, [rsp + 0x88]
call fcn.1401069b0
cmp dword [rsp + 0x48], 0
je 0x1400e8b83
mov rbp, qword [0x1402af158]
test rbp, rbp
je 0x1400e8b2f
mov rbp, qword [rbp]
mov ecx, 1
call fcn.140103d80
mov r14, rax
test rbp, rbp
je 0x1400e8b81
test rax, rax
je 0x1400e8b81
mov rbx, qword [rbp + 0x788]
mov rcx, rax
call fcn.140041f30
mov rdx, rax
mov rcx, rbx
call fcn.140081a20
mov rcx, qword [rbp + 0x788]
cmp eax, dword [rcx + 0x10]
je 0x1400e8b81
mov edx, 1
mov rcx, r14
call fcn.1401075d0
xor ebp, ebp
test al, al
jne 0x1400e8bca
jmp 0x1400e8b83
xor ebp, ebp
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x70], rbp
mov dword [rsp + 0x60], esi
test r12d, r12d
mov eax, 0x800
cmovne r15d, eax
mov dword [rsp + 0x64], r15d
mov dword [rsp + 0x68], ebp
mov r9d, 0x28
lea r8, [rsp + 0x50]
lea edx, [r9 - 0x27]
lea rcx, [0x1402ad8a0]
call fcn.14009a550
nop
lea rcx, [rsp + 0x80]
call fcn.1400eca60
jmp 0x1400e8c36
movzx ecx, word [rsp + 0x44]
shl ecx, 0x10
movzx eax, word [rsp + 0x40]
or rcx, rax
movzx r9d, si
shl r9d, 0x10
movzx eax, bx
or r9, rax
mov eax, 0x20a
mov r8d, 0x20e
test r12d, r12d
cmovne r8d, eax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0xc8
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rcx
mov rdx, r14
lea rcx, [0x1402ad8a0]
call fcn.14009a3f0
add dword [rdi + 0x94], esi
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rdi + 0xa4], eax
mov eax, dword [rdi + 0x60]
cdq
xor eax, edx
sub eax, edx
mov dword [rdi + 0x60], ebp
mov dword [rdi + 0xa0], ebp
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret