Function at 0x140071010
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
movzx r15d, dl
mov rdi, rcx
test dl, dl
jne 0x140071038
cmp qword [rcx + 0x58], 0
je 0x14007128e
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.14005a4f0
lea rax, [rbp - 0x20]
mov qword [rbp - 0x40], rax
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14007107a
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 0x14007109a
cmp dword [rbp - 0x10], 1
jne 0x14007109a
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
call qword [rax + 0x608]
mov rcx, qword [rbp - 0x18]
cmp dword [rbp - 0x10], 2
jne 0x1400710b4
test rcx, rcx
je 0x1400710b4
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
nop
mov qword [rbp + 0x50], rsi
mov qword [rbp - 0x20], r12
mov qword [rbp - 0x18], rsi
mov dword [rbp - 0x10], esi
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x50]
call fcn.140075270
mov rax, qword [rbp + 0x50]
mov qword [rbp + 0x58], rax
mov rax, qword [rdi]
lea rdx, [rbp + 0x58]
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 0x1400711d8
mov rcx, qword [rbp + 0x58]
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 0x1400711c8
mov bl, 1
test r14, r14
je 0x1400711c8
mov rax, qword [rbp + 0x50]
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14005e290
nop
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140071170
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 0x1400711aa
cmp dword [rbp - 0x10], 1
jne 0x1400711aa
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
call qword [rax + 0x608]
mov rcx, qword [rbp - 0x18]
cmp dword [rbp - 0x10], 2
jne 0x1400711c4
test rcx, rcx
je 0x1400711c4
mov rax, qword [rcx]
mov edx, 1
call qword [rax + 0x2e8]
nop
movzx ebx, sil
cmp qword [rdi + 0x58], 0
je 0x1400711d8
test r14, r14
je 0x14007126c
test r15b, r15b
jne 0x1400711fa
call fcn.14003c2d0
test bl, bl
je 0x14007129f
sub rax, qword [rdi + 0x68]
cmp rax, 0x2ee
jle 0x14007128e
test r14, r14
je 0x14007126c
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 0x1400712a9
cmp byte [rbp - 0x28], 0
jne 0x1400712a9
mov rax, qword [rcx]
call qword [rax + 0x308]
test al, al
je 0x1400712a5
mov qword [rbp - 0x38], rbx
cmp byte [rbp - 0x28], 0
jne 0x14007126c
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14007126c
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
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov qword [rdi + 0x68], rax
jmp 0x14007128e
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x38], rbx
cmp byte [rbp - 0x28], 0
jne 0x1400712c6
test rcx, rcx
je 0x1400712c6
mov rax, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [rax + 0x608]
nop
xor al, al
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret