Function at 0x140096758
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 0x140096ab8
je 0x1400969bd
cmp edx, 0x7b
je 0x14009690c
cmp edx, 0xa0
jbe 0x1400968ea
cmp edx, 0xa2
jbe 0x1400968be
cmp edx, 0xa3
jbe 0x1400968ea
cmp edx, 0xa5
jbe 0x1400968be
cmp edx, 0xa6
jbe 0x1400968ea
cmp edx, 0xa8
jbe 0x1400968be
cmp edx, 0x100
je 0x140096821
cmp edx, 0x104
jne 0x1400968ea
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x14009690c
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.140124cc0
test eax, eax
je 0x14009690c
mov eax, 1
jmp 0x1400968f5
mov rcx, rdi
call fcn.1400768cc
test eax, eax
jne 0x140096843
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.1400781fc
test eax, eax
jne 0x140096817
cmp qword [rdi + 0x10], 0x1b
jne 0x1400968ea
cmp dword [rsi + 0x6d8], 0
je 0x140096866
lea rcx, [rsi + 0x6b8]
mov rdx, rsi
call fcn.1401230d4
mov rcx, qword [rsi + 0x530]
test rcx, rcx
je 0x140096883
cmp dword [rcx + 0xc], 0
je 0x140096883
cmp dword [rcx + 8], 0
je 0x140096883
call fcn.140115894
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.140012be4
mov rdx, rax
lea rcx, str.CPaneDivider
call fcn.14001a8fc
test rax, rax
je 0x1400968ea
mov rcx, qword [rax + 0x40]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x1f]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140096817
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.140078500
test eax, eax
jne 0x140096817
mov rdx, rdi
mov rcx, rsi
call fcn.14012794c
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 [0x14025ad70]
lea rbp, [0x14025ad70]
mov ebx, 1
test eax, eax
jne 0x140096932
mov rcx, rbp
call fcn.14003fb98
mov eax, ebx
mov dword [0x14025ad70], ebx
cmp dword [0x14025aff0], 0
jne 0x140096975
test eax, eax
jne 0x14009694f
mov rcx, rbp
call fcn.14003fb98
mov eax, ebx
mov dword [0x14025ad70], ebx
cmp dword [0x14025afec], 0
jne 0x140096975
test eax, eax
jne 0x14009696a
mov rcx, rbp
call fcn.14003fb98
mov dword [0x14025ad70], ebx
mov dword [0x14025afec], ebx
call fcn.14002f23c
call fcn.140038afc
test rax, rax
je 0x1400969a1
cmp qword [rdi + 0x10], 0x12
jne 0x1400969a1
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 0x1400968f5
mov edx, dword [rdi + 0x10]
lea rcx, [rsi + 0x590]
xor r8d, r8d
call fcn.1400781fc
test eax, eax
je 0x1400968ea
jmp 0x14009699a
mov rcx, qword [rcx + 0x710]
test rcx, rcx
je 0x1400969e1
mov r9, qword [rdi + 0x18]
mov rdx, rsi
mov r8, qword [rdi + 0x10]
call fcn.140124e50
test eax, eax
jne 0x140096817
mov ecx, 0x11
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 0x140096a32
mov rcx, rax
call sub.IMM32.dll_ImmGetOpenStatus
test eax, eax
je 0x140096a32
mov r14d, ebx
jmp 0x140096a35
xor r14d, r14d
test rbp, rbp
je 0x140096a46
mov rcx, qword [rsi + 0x40]
mov rdx, rbp
call sub.IMM32.dll_ImmReleaseContext
cmp qword [rsi + 0x6a0], 0
je 0x140096aab
cmp qword [rdi + 0x10], 0x12
je 0x140096a6d
cmp qword [rdi + 0x10], 0x79
jne 0x140096aab
test r15d, r15d
jne 0x140096aab
test r12d, r12d
jne 0x140096aab
test r14d, r14d
jne 0x140096aab
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140012be4
mov rcx, qword [rsi + 0x6a0]
cmp rcx, rax
jne 0x140096a8c
mov rcx, rsi
jmp 0x140096aa1
cmp qword [rdi + 0x10], 0x12
je 0x140096aa1
mov eax, dword [rdi + 0x18]
bt rax, 0x1d
jb 0x14009699a
call fcn.140018dfc
jmp 0x14009699a
call fcn.140038afc
test rax, rax
jmp 0x1400969b5
cmp edx, 0x200
je 0x140096b8a
cmp edx, 0x201
je 0x140096b19
cmp edx, 0x203
jbe 0x1400968ea
cmp edx, 0x205
jbe 0x140096b19
cmp edx, 0x206
jbe 0x1400968ea
cmp edx, 0x208
jbe 0x140096b19
cmp edx, 0x20a
jne 0x1400968ea
mov r8, qword [rdi + 0x18]
add rcx, 0x590
mov rdx, qword [rdi + 0x10]
call fcn.140078c44
jmp 0x1400968e2
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.140012be4
mov rbx, rax
test rax, rax
je 0x140096b55
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x140096b55
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.140078500
test eax, eax
jne 0x140096817
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x1400968ea
jmp 0x140096817
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.140012be4
test rax, rax
je 0x140096bb6
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.140078b48
jmp 0x1400968e2