Function at 0x14002be68
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x20
mov rbx, rdx
mov edx, dword [rdx + 8]
mov eax, 0x105
mov r14d, 1
mov rdi, rcx
mov dword [rsp + 0x58], r14d
cmp edx, eax
ja 0x14002c17e
je 0x14002c07d
cmp edx, 0x7b
je 0x14002bfff
cmp edx, 0xa0
jbe 0x14002c05b
cmp edx, 0xa2
jbe 0x14002bfd9
cmp edx, 0xa3
jbe 0x14002c05b
cmp edx, 0xa5
jbe 0x14002bfd9
cmp edx, 0xa6
jbe 0x14002c05b
cmp edx, 0xa8
jbe 0x14002bfd9
cmp edx, 0x100
je 0x14002bf3a
cmp edx, 0x104
jne 0x14002c05b
mov rcx, qword [rcx + 0x328]
test rcx, rcx
je 0x14002bfff
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, rdi
call fcn.1400d51dc
test eax, eax
je 0x14002bfff
mov eax, r14d
jmp 0x14002c066
mov rcx, rbx
call fcn.14004d474
test eax, eax
jne 0x14002bf5e
mov edx, dword [rbx + 0x10]
lea rcx, [rdi + 0x1a8]
lea r8, [rsp + 0x58]
call fcn.14004dea4
test eax, eax
jne 0x14002bf32
cmp qword [rbx + 0x10], 0x1b
jne 0x14002bfc7
cmp dword [rdi + 0x2f0], 0
je 0x14002bf7d
lea rcx, [rdi + 0x2d0]
mov rdx, rdi
call fcn.1400e3334
mov rcx, qword [rdi + 0x640]
test rcx, rcx
je 0x14002bf9a
cmp dword [rcx + 0xc], 0
je 0x14002bf9a
cmp dword [rcx + 8], 0
je 0x14002bf9a
call fcn.1400e3158
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.14001bcf8
lea rcx, str.CPaneDivider
mov rdx, rax
call fcn.14005a468
test rax, rax
je 0x14002bfc7
mov rcx, qword [rax + 0x40]
mov edx, 0x1f
jmp 0x14002c030
cmp dword [rsp + 0x58], 0
jne 0x14002c05b
xor eax, eax
jmp 0x14002c066
movsx eax, word [rbx + 0x18]
mov r9, qword [rbx]
add rcx, 0x1a8
mov dword [rsp + 0x60], eax
movsx eax, word [rbx + 0x1a]
mov dword [rsp + 0x64], eax
mov r8, qword [rsp + 0x60]
call fcn.14004e1e8
jmp 0x14002c053
mov rcx, qword [0x140259f88]
test rcx, rcx
je 0x14002c041
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14002c041
cmp qword [rbx + 0x10], 0x12
jne 0x14002c041
mov rcx, qword [0x140259f88]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov rcx, qword [rcx + 0x40]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x14002bf32
mov edx, dword [rbx + 0x10]
lea rcx, [rdi + 0x1a8]
xor r8d, r8d
call fcn.14004dea4
test eax, eax
jne 0x14002bf32
mov rdx, rbx
mov rcx, rdi
call fcn.140022410
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 0x328]
test rcx, rcx
je 0x14002c0a1
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, rdi
call fcn.1400d4508
test eax, eax
jne 0x14002bf32
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r12w, ax
shr r12d, 0xf
and r12d, r14d
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, qword [rdi + 0x40]
mov r13w, ax
shr r13d, 0xf
and r13d, r14d
call sub.IMM32.dll_ImmGetContext
mov rsi, rax
test rax, rax
je 0x14002c0ef
mov rcx, rax
call sub.IMM32.dll_ImmGetOpenStatus
test eax, eax
je 0x14002c0ef
mov ebp, r14d
jmp 0x14002c0f1
xor ebp, ebp
test rsi, rsi
je 0x14002c102
mov rcx, qword [rdi + 0x40]
mov rdx, rsi
call sub.IMM32.dll_ImmReleaseContext
cmp qword [rdi + 0x2b8], 0
je 0x14002c15f
cmp qword [rbx + 0x10], 0x12
je 0x14002c128
cmp qword [rbx + 0x10], 0x79
jne 0x14002c15f
test r12d, r12d
jne 0x14002c15f
test r13d, r13d
jne 0x14002c15f
test ebp, ebp
jne 0x14002c15f
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001bcf8
mov rcx, qword [rdi + 0x2b8]
cmp rcx, rax
jne 0x14002c147
mov rcx, rdi
jmp 0x14002c155
mov eax, dword [rbx + 0x18]
bt rax, 0x1d
jb 0x14002bf32
call fcn.14001259c
jmp 0x14002bf32
mov rcx, qword [0x140259f88]
test rcx, rcx
je 0x14002c05b
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
jmp 0x14002c053
cmp edx, 0x200
je 0x14002c250
cmp edx, 0x201
je 0x14002c1df
cmp edx, 0x203
jbe 0x14002c05b
cmp edx, 0x205
jbe 0x14002c1df
cmp edx, 0x206
jbe 0x14002c05b
cmp edx, 0x208
jbe 0x14002c1df
cmp edx, 0x20a
jne 0x14002c05b
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
add rcx, 0x1a8
call fcn.14004e750
jmp 0x14002c053
movsx eax, word [rbx + 0x18]
mov rcx, qword [rbx]
mov dword [rsp + 0x60], eax
movsx eax, word [rbx + 0x1a]
mov dword [rsp + 0x64], eax
call fcn.14001bcf8
mov rsi, rax
test rax, rax
je 0x14002c21b
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x14002c21b
mov rcx, qword [rsi + 0x40]
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov r9, qword [rbx]
mov r8, qword [rsp + 0x60]
mov edx, dword [rbx + 8]
lea rcx, [rdi + 0x1a8]
call fcn.14004e1e8
test eax, eax
jne 0x14002bf32
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x14002c05b
jmp 0x14002bf32
movsx eax, word [rbx + 0x18]
mov rcx, qword [rbx]
mov dword [rsp + 0x60], eax
movsx eax, word [rbx + 0x1a]
mov dword [rsp + 0x64], eax
call fcn.14001bcf8
test rax, rax
je 0x14002c27c
mov rcx, qword [rax + 0x40]
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rdx, qword [rsp + 0x60]
lea rcx, [rdi + 0x1a8]
call fcn.14004e68c
jmp 0x14002c053