Function at 0x14006a530
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movzx r15d, dl
mov rdi, rcx
test dl, dl
jne 0x14006a55f
cmp qword [rcx + 0x58], 0
je 0x14006a7b5
lea r12, vtable.JRWndPtr.0
mov qword [rbp - 0x20], r12
xor esi, esi
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x10], esi
mov rdx, rdi
lea rcx, [rbp - 0x20]
call fcn.140068ca0
lea rax, [rbp - 0x20]
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14006a5a1
mov rax, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [rax + 0x488]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x20], r12
test rcx, rcx
je 0x14006a5c1
cmp dword [rbp - 0x10], 1
jne 0x14006a5c1
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
call qword [rax + 0x608]
mov rcx, qword [rbp - 0x18]
cmp dword [rbp - 0x10], 2
jne 0x14006a5db
test rcx, rcx
je 0x14006a5db
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
nop
mov qword [rbp + 0x40], rsi
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x10], esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.1400789f0
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x48], rax
mov rax, qword [rdi]
lea rdx, [rbp + 0x48]
mov rcx, rdi
call qword [rax + 0x4d0]
xor edx, edx
lea rcx, str.JRiver_Menu_Class
call qword [sym.imp.USER32.dll_FindWindowW]
mov r14, rax
xor bl, bl
cmp qword [rdi + 0x58], 0
je 0x14006a6ff
mov rcx, qword [rbp + 0x48]
mov qword [rbp - 0x40], rcx
mov r8, qword [rdi]
lea rdx, [rbp - 0x40]
mov rcx, rdi
call qword [r8 + 0x650]
cmp qword [rdi + 0x58], rax
je 0x14006a6ef
mov bl, 1
test r14, r14
je 0x14006a6ef
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.140067eb0
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14006a697
mov rax, qword [rcx]
movzx r8d, bl
lea rdx, str.JRMenuWnd
call qword [rax + 0x390]
movzx ebx, bl
test al, al
cmovne ebx, esi
movzx ebx, bl
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
test al, 1
cmove esi, ebx
mov qword [rbp - 0x20], r12
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14006a6d1
cmp dword [rbp - 0x10], 1
jne 0x14006a6d1
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
call qword [rax + 0x608]
mov rcx, qword [rbp - 0x18]
cmp dword [rbp - 0x10], 2
jne 0x14006a6eb
test rcx, rcx
je 0x14006a6eb
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
nop
movzx ebx, sil
cmp qword [rdi + 0x58], 0
je 0x14006a6ff
test r14, r14
je 0x14006a793
test r15b, r15b
jne 0x14006a721
call fcn.14004fa30
test bl, bl
je 0x14006a7d0
sub rax, qword [rdi + 0x68]
cmp rax, 0x2ee
jle 0x14006a7b5
test r14, r14
je 0x14006a793
lea rbx, vtable.JRWndDeleteProbe.0
mov qword [rbp - 0x38], rbx
mov qword [rbp - 0x30], rdi
mov byte [rbp - 0x28], 0
mov rax, qword [rdi]
lea rdx, [rbp - 0x38]
mov rcx, rdi
call qword [rax + 0x600]
nop
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x570]
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14006a7da
cmp byte [rbp - 0x28], 0
jne 0x14006a7da
mov rax, qword [rcx]
call qword [rax + 0x308]
test al, al
je 0x14006a7d6
mov qword [rbp - 0x38], rbx
cmp byte [rbp - 0x28], 0
jne 0x14006a793
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14006a793
mov rax, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [rax + 0x608]
nop
mov rax, qword [rdi]
mov edx, 0x138c
mov rcx, rdi
call qword [rax + 0x5a0]
mov rax, qword [rdi]
mov edx, 0x138b
mov rcx, rdi
call qword [rax + 0x5a0]
mov al, 1
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
mov qword [rdi + 0x68], rax
jmp 0x14006a7b5
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x38], rbx
cmp byte [rbp - 0x28], 0
jne 0x14006a7f7
test rcx, rcx
je 0x14006a7f7
mov rax, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [rax + 0x608]
nop
xor al, al
jmp 0x14006a7b7