Function at 0x1400d2888
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rdi, rdx
mov eax, 0x105
mov edx, dword [rdx + 8]
mov rsi, rcx
cmp edx, eax
ja 0x1400d2be8
je 0x1400d2aed
cmp edx, 0x7b
je 0x1400d2a3c
cmp edx, 0xa0
jbe 0x1400d2a1a
cmp edx, 0xa2
jbe 0x1400d29ee
cmp edx, 0xa3
jbe 0x1400d2a1a
cmp edx, 0xa5
jbe 0x1400d29ee
cmp edx, 0xa6
jbe 0x1400d2a1a
cmp edx, 0xa8
jbe 0x1400d29ee
cmp edx, 0x100
je 0x1400d2951
cmp edx, 0x104
jne 0x1400d2a1a
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x1400d2a3c
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.14017afb4
test eax, eax
je 0x1400d2a3c
mov eax, 1
jmp 0x1400d2a25
mov rcx, rdi
call fcn.1400cb0ec
test eax, eax
jne 0x1400d2973
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.1400ccfd4
test eax, eax
jne 0x1400d2947
cmp qword [rdi + 0x10], 0x1b
jne 0x1400d2a1a
cmp dword [rsi + 0x6d8], 0
je 0x1400d2996
lea rcx, [rsi + 0x6b8]
mov rdx, rsi
call fcn.14019bfe4
mov rcx, qword [rsi + 0x530]
test rcx, rcx
je 0x1400d29b3
cmp dword [rcx + 0xc], 0
je 0x1400d29b3
cmp dword [rcx + 8], 0
je 0x1400d29b3
call fcn.140165e98
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.140036160
mov rdx, rax
lea rcx, str.CPaneDivider
call fcn.14003f75c
test rax, rax
je 0x1400d2a1a
mov rcx, qword [rax + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1f]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400d2947
movsx eax, word [rdi + 0x18]
add rcx, 0x590
mov r9, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
mov r8, qword [rsp + 0x58]
call fcn.1400cd2d8
test eax, eax
jne 0x1400d2947
mov rdx, rdi
mov rcx, rsi
call fcn.14019e84c
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov eax, dword [0x1403f22c0]
lea rbp, [0x1403f22c0]
mov ebx, 1
test eax, eax
jne 0x1400d2a62
mov rcx, rbp
call fcn.1400692fc
mov eax, ebx
mov dword [0x1403f22c0], ebx
cmp dword [0x1403f2540], 0
jne 0x1400d2aa5
test eax, eax
jne 0x1400d2a7f
mov rcx, rbp
call fcn.1400692fc
mov eax, ebx
mov dword [0x1403f22c0], ebx
cmp dword [0x1403f253c], 0
jne 0x1400d2aa5
test eax, eax
jne 0x1400d2a9a
mov rcx, rbp
call fcn.1400692fc
mov dword [0x1403f22c0], ebx
mov dword [0x1403f253c], ebx
call fcn.14008044c
call fcn.1400dad34
test rax, rax
je 0x1400d2ad1
cmp qword [rdi + 0x10], 0x12
jne 0x1400d2ad1
mov rcx, qword [rax + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, ebx
jmp 0x1400d2a25
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.1400ccfd4
test eax, eax
je 0x1400d2a1a
jmp 0x1400d2aca
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x1400d2b11
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.14017b144
test eax, eax
jne 0x1400d2947
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElemsize
call qword [sym.imp.USER32.dll_GetKeyState]
mov ebx, 1
movzx r15d, ax
shr r15d, 0xf
and r15d, ebx
lea ecx, [rbx + 0xf]
call qword [sym.imp.USER32.dll_GetKeyState]
mov rcx, qword [rsi + 0x40]
movzx r12d, ax
shr r12d, 0xf
and r12d, ebx
call sub.IMM32.dll_ImmGetContext
mov rbp, rax
test rax, rax
je 0x1400d2b62
mov rcx, rax
call sub.IMM32.dll_ImmGetOpenStatus
test eax, eax
je 0x1400d2b62
mov r14d, ebx
jmp 0x1400d2b65
xor r14d, r14d
test rbp, rbp
je 0x1400d2b76
mov rcx, qword [rsi + 0x40]
mov rdx, rbp
call sub.IMM32.dll_ImmReleaseContext
cmp qword [rsi + 0x6a0], 0
je 0x1400d2bdb
cmp qword [rdi + 0x10], 0x12
je 0x1400d2b9d
cmp qword [rdi + 0x10], 0x79
jne 0x1400d2bdb
test r15d, r15d
jne 0x1400d2bdb
test r12d, r12d
jne 0x1400d2bdb
test r14d, r14d
jne 0x1400d2bdb
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140036160
mov rcx, qword [rsi + 0x6a0]
cmp rcx, rax
jne 0x1400d2bbc
mov rcx, rsi
jmp 0x1400d2bd1
cmp qword [rdi + 0x10], 0x12
je 0x1400d2bd1
mov eax, dword [rdi + 0x18]
bt rax, 0x1d
jb 0x1400d2aca
call fcn.14003dcb4
jmp 0x1400d2aca
call fcn.1400dad34
test rax, rax
jmp 0x1400d2ae5
cmp edx, 0x200
je 0x1400d2cba
cmp edx, 0x201
je 0x1400d2c49
cmp edx, 0x203
jbe 0x1400d2a1a
cmp edx, 0x205
jbe 0x1400d2c49
cmp edx, 0x206
jbe 0x1400d2a1a
cmp edx, 0x208
jbe 0x1400d2c49
cmp edx, 0x20a
jne 0x1400d2a1a
mov r8, qword [rdi + 0x18]
add rcx, 0x590
mov rdx, qword [rdi + 0x10]
call fcn.1400cda1c
jmp 0x1400d2a12
movsx eax, word [rdi + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
call fcn.140036160
mov rbx, rax
test rax, rax
je 0x1400d2c85
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1400d2c85
mov rcx, qword [rbx + 0x40]
lea rdx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov r9, qword [rdi]
lea rcx, [rsi + 0x590]
mov r8, qword [rsp + 0x58]
mov edx, dword [rdi + 8]
call fcn.1400cd2d8
test eax, eax
jne 0x1400d2947
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400d2a1a
jmp 0x1400d2947
movsx eax, word [rdi + 0x18]
mov rcx, qword [rdi]
mov dword [rsp + 0x58], eax
movsx eax, word [rdi + 0x1a]
mov dword [rsp + 0x5c], eax
call fcn.140036160
test rax, rax
je 0x1400d2ce6
mov rcx, qword [rax + 0x40]
lea rdx, [rsp + 0x58]
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rdx, qword [rsp + 0x58]
lea rcx, [rsi + 0x590]
call fcn.1400cd920
jmp 0x1400d2a12