Function at 0x1400cfb70
Capabilities:
Log keystrokes via application hook

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0xa0
mov r14, r9
mov rdi, r8
mov rbp, rdx
mov rbx, rcx
call fcn.1400741a0
nop
lea rax, vtable.CMiddleScrollHelper.0
mov qword [rbx], rax
lea rax, vtable.CMiddleScrollHelper.1.0
mov qword [rbx + 0x188], rax
xor r15d, r15d
lea rsi, [rbx + 0x250]
lea r12, vtable.JRWndPtr.0
mov qword [rsi], r12
mov qword [rsi + 8], r15
mov dword [rsi + 0x10], r15d
mov qword [rbx + 0x230], r15
mov qword [rbx + 0x2b8], r15
mov byte [rbx + 0x238], r15b
mov qword [rbx + 0x23c], r15
mov qword [rbx + 0x268], r15
mov qword [rbx + 0x270], r15
mov qword [rbx + 0x278], r15
mov qword [rbx + 0x2b0], r15
mov qword [rbx + 0x220], r15
mov qword [rbx + 0x228], r15
mov qword [rbx + 0x190], r15
mov qword [rbx + 0x280], r15
mov qword [rbx + 0x288], r15
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400280d0
nop
mov rdx, rax
mov rcx, rsi
call fcn.14005a700
nop
mov qword [rsp + 0x60], r12
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x1400cfc6e
cmp dword [rsp + 0x70], 1
jne 0x1400cfc6e
mov rax, qword [rcx]
lea rdx, [rsp + 0x60]
call qword [rax + 0x608]
mov rcx, qword [rsp + 0x68]
cmp dword [rsp + 0x70], 2
jne 0x1400cfc89
test rcx, rcx
je 0x1400cfc89
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
nop
mov qword [rbx + 0x290], r15
mov qword [rbx + 0x2c0], r15
mov qword [rbx + 0x298], r15
mov qword [rbx + 0x2a0], r15
mov qword [rbx + 0x2a8], r15
mov qword [rbx + 0x230], rbp
mov rdx, rdi
mov rcx, rsi
call fcn.14005a700
mov eax, dword [rsp + 0x110]
mov dword [rbx + 0x2b8], eax
mov qword [rbx + 0x248], r15
test eax, eax
jne 0x1400cfcec
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + 0x2e8]
jmp 0x1400cfe79
mov rax, qword [r14]
mov qword [rbx + 0x23c], rax
mov rbp, rax
shr rbp, 0x20
sub ebp, 0x11
lea r14d, [rax - 0x11]
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x88], r15
mov dword [rsp + 0x90], r15d
lea rax, [rsp + 0x80]
cmp rsi, rax
je 0x1400cfd86
mov eax, dword [rsi + 0x10]
cmp eax, 2
jne 0x1400cfd70
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x1400cfd58
mov rax, qword [rcx]
call qword [rax + 0x300]
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14005a5e0
jmp 0x1400cfd86
mov rax, r15
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.14005a5e0
jmp 0x1400cfd86
cmp eax, 1
jne 0x1400cfd86
mov rdx, qword [rsi + 8]
lea rcx, [rsp + 0x80]
call fcn.14005a4f0
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x64], ebp
lea eax, [r14 + 0x24]
mov dword [rsp + 0x68], eax
lea eax, [rbp + 0x24]
mov dword [rsp + 0x6c], eax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x90000000
xor r9d, r9d
lea r8, str.JRiver_Middle_Scroll_Window_Class
xor edx, edx
mov rcx, rbx
call fcn.140074360
test al, al
je 0x1400cfe79
mov rcx, qword [rbx + 0x258]
mov rax, qword [rcx]
call qword [rax + 0x570]
mov rcx, qword [rbx + 0x190]
call qword [sym.imp.USER32.dll_SetCapture]
mov qword [0x1401f7ba8], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
xor r8d, r8d
lea rdx, [0x1400cfaf0]
lea ecx, [r8 + 2]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov qword [rbx + 0x220], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r9d, eax
xor r8d, r8d
lea rdx, [0x1400cfb30]
lea ecx, [r8 + 7]
call qword [sym.imp.USER32.dll_SetWindowsHookExW]
mov qword [rbx + 0x228], rax
mov rcx, rbx
call fcn.1400d05f0
mov dword [rbx + 0x2c0], 5
mov rcx, rbx
call fcn.1400d03c0
xor r9d, r9d
mov edx, 0x1feb
lea r8d, [r9 + 0x1e]
mov rcx, qword [rbx + 0x190]
call qword [sym.imp.USER32.dll_SetTimer]
nop
mov qword [rdi], r12
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400cfe97
cmp dword [rdi + 0x10], 1
jne 0x1400cfe97
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + 0x608]
cmp dword [rdi + 0x10], 2
jne 0x1400cfeb4
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x1400cfeb4
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
mov dword [rdi + 0x10], r15d
mov qword [rdi + 8], r15
mov rax, rbx
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret