Function at 0x140029b88
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 0x140029e9e
je 0x140029d9d
cmp edx, 0x7b
je 0x140029d1f
cmp edx, 0xa0
jbe 0x140029d7b
cmp edx, 0xa2
jbe 0x140029cf9
cmp edx, 0xa3
jbe 0x140029d7b
cmp edx, 0xa5
jbe 0x140029cf9
cmp edx, 0xa6
jbe 0x140029d7b
cmp edx, 0xa8
jbe 0x140029cf9
cmp edx, 0x100
je 0x140029c5a
cmp edx, 0x104
jne 0x140029d7b
mov rcx, qword [rcx + 0x328]
test rcx, rcx
je 0x140029d1f
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, rdi
call fcn.1400d2f50
test eax, eax
je 0x140029d1f
mov eax, r14d
jmp 0x140029d86
mov rcx, rbx
call fcn.14004b2fc
test eax, eax
jne 0x140029c7e
mov edx, dword [rbx + 0x10]
lea rcx, [rdi + 0x1a8]
lea r8, [rsp + 0x58]
call fcn.14004bc64
test eax, eax
jne 0x140029c52
cmp qword [rbx + 0x10], 0x1b
jne 0x140029ce7
cmp dword [rdi + 0x2f0], 0
je 0x140029c9d
lea rcx, [rdi + 0x2d0]
mov rdx, rdi
call fcn.1400e1108
mov rcx, qword [rdi + 0x640]
test rcx, rcx
je 0x140029cba
cmp dword [rcx + 0xc], 0
je 0x140029cba
cmp dword [rcx + 8], 0
je 0x140029cba
call fcn.1400e0f2c
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.140019768
lea rcx, str.CPaneDivider
mov rdx, rax
call fcn.1400580b0
test rax, rax
je 0x140029ce7
mov rcx, qword [rax + 0x40]
mov edx, 0x1f
jmp 0x140029d50
cmp dword [rsp + 0x58], 0
jne 0x140029d7b
xor eax, eax
jmp 0x140029d86
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.14004bfa8
jmp 0x140029d73
mov rcx, qword [0x140255ec8]
test rcx, rcx
je 0x140029d61
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140029d61
cmp qword [rbx + 0x10], 0x12
jne 0x140029d61
mov rcx, qword [0x140255ec8]
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 0x140029c52
mov edx, dword [rbx + 0x10]
lea rcx, [rdi + 0x1a8]
xor r8d, r8d
call fcn.14004bc64
test eax, eax
jne 0x140029c52
mov rdx, rbx
mov rcx, rdi
call fcn.14001fe80
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 0x140029dc1
mov r9, qword [rbx + 0x18]
mov r8, qword [rbx + 0x10]
mov rdx, rdi
call fcn.1400d227c
test eax, eax
jne 0x140029c52
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 0x140029e0f
mov rcx, rax
call sub.IMM32.dll_ImmGetOpenStatus
test eax, eax
je 0x140029e0f
mov ebp, r14d
jmp 0x140029e11
xor ebp, ebp
test rsi, rsi
je 0x140029e22
mov rcx, qword [rdi + 0x40]
mov rdx, rsi
call sub.IMM32.dll_ImmReleaseContext
cmp qword [rdi + 0x2b8], 0
je 0x140029e7f
cmp qword [rbx + 0x10], 0x12
je 0x140029e48
cmp qword [rbx + 0x10], 0x79
jne 0x140029e7f
test r12d, r12d
jne 0x140029e7f
test r13d, r13d
jne 0x140029e7f
test ebp, ebp
jne 0x140029e7f
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140019768
mov rcx, qword [rdi + 0x2b8]
cmp rcx, rax
jne 0x140029e67
mov rcx, rdi
jmp 0x140029e75
mov eax, dword [rbx + 0x18]
bt rax, 0x1d
jb 0x140029c52
call fcn.140010038
jmp 0x140029c52
mov rcx, qword [0x140255ec8]
test rcx, rcx
je 0x140029d7b
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_IsWindow]
jmp 0x140029d73
cmp edx, 0x200
je 0x140029f70
cmp edx, 0x201
je 0x140029eff
cmp edx, 0x203
jbe 0x140029d7b
cmp edx, 0x205
jbe 0x140029eff
cmp edx, 0x206
jbe 0x140029d7b
cmp edx, 0x208
jbe 0x140029eff
cmp edx, 0x20a
jne 0x140029d7b
mov r8, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x10]
add rcx, 0x1a8
call fcn.14004c510
jmp 0x140029d73
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.140019768
mov rsi, rax
test rax, rax
je 0x140029f3b
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140029f3b
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.14004bfa8
test eax, eax
jne 0x140029c52
mov rcx, qword [rbx]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x140029d7b
jmp 0x140029c52
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.140019768
test rax, rax
je 0x140029f9c
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.14004c44c
jmp 0x140029d73