Function at 0x43d705
Capabilities:
Log keystrokes via polling

Disassembly:
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x40
cmp dword [rcx + 8], 0x100
mov r12, rcx
mov rbx, rdx
jne 0x43d7bf
mov r13, qword [rcx]
mov r14, qword [sym.imp.USER32.dll_GetWindowLongA]
mov rsi, qword [sym.imp.USER32.dll_GetParent]
test r13, r13
je 0x43d7bf
mov rcx, r13
call method.IWindow.findWindow_HWND___
mov rcx, rax
test rax, rax
jne 0x43d769
mov edx, 0xfffffff0
mov rcx, r13
call r14
bt eax, 0x1e
jae 0x43d7bf
mov rcx, r13
call rsi
mov r13, rax
jmp 0x43d735
call method.IWindow.getTopParent__
mov r13, rax
test rax, rax
je 0x43d7bf
mov rax, qword [r12 + 0x10]
cmp rax, 0xd
je 0x43d7c7
cmp rax, 9
je 0x43d8d2
lea rdx, [rax - 0x25]
cmp rdx, 1
ja 0x43d9d4
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 5
jne 0x43d7bf
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.0043d6a1
xor r12d, r12d
jmp 0x43da79
mov rcx, qword [r12]
mov r9, r12
xor r8d, r8d
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
xor r12d, r12d
test al, 4
jne 0x43da79
lea r14, [rsp + 0x30]
mov rcx, r14
call fcn.004cf720
mov rcx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
sub rbx, rcx
call fcn.004d20e2
sar rbx, 3
shr eax, 3
cmp ebx, eax
jne 0x43d83a
mov rdx, qword [rsp + 0x38]
sub rdx, qword [rsp + 0x30]
mov eax, 1
mov rcx, r14
sar rdx, 3
mov r8d, 8
add edx, edx
cmove edx, eax
shl edx, 3
call fcn.004cf756
mov rax, qword [rsp + 0x38]
mov rcx, r13
mov rdx, r14
xor ebx, ebx
mov qword [rax], r13
lea r13, [rsp + 0x28]
add qword [rsp + 0x38], 8
call method.IWindow.getVisibleChildren_vector_IWindow__
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
sub rax, rdx
sar rax, 3
cmp ebx, eax
jae 0x43d99b
mov eax, ebx
mov rcx, qword [rdx + rax*8]
mov edx, 0xca
mov rax, qword [rcx]
call qword [rax + 0xb8]
mov qword [rsp + 0x28], rax
mov rcx, rax
test rax, rax
je 0x43d8c6
mov rax, qword [rax]
mov rsi, qword [rax - 0x18]
add rsi, rcx
inc dword [rsi + 8]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12d, eax
test al, al
je 0x43d8c6
mov rcx, qword [rsp + 0x28]
mov rax, qword [rcx]
call qword [rax + 0x18]
mov rcx, r13
call fcn.0043d676
jmp 0x43d99e
mov rcx, r13
inc ebx
call fcn.0043d676
jmp 0x43d85a
mov ecx, 0x11
mov rbx, qword [sym.imp.USER32.dll_GetKeyState]
call rbx
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
test ax, ax
mov edx, 0x87
mov rax, qword [sym.imp.USER32.dll_SendMessageA]
jns 0x43d9ab
call rax
xor r12d, r12d
test al, 6
jne 0x43da79
lea r14, [rsp + 0x30]
xor esi, esi
mov rcx, r14
call fcn.004cf720
mov rcx, r13
mov rdx, r14
lea r13, [rsp + 0x28]
call method.IWindow.getVisibleChildren_vector_IWindow__
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x38]
sub rax, rdx
sar rax, 3
cmp esi, eax
jae 0x43d99b
mov eax, esi
mov rcx, qword [rdx + rax*8]
mov edx, 0xcb
mov rax, qword [rcx]
call qword [rax + 0xb8]
mov qword [rsp + 0x28], rax
mov r12, rax
test rax, rax
je 0x43da6a
mov rax, qword [rax]
mov ecx, 0x10
mov rsi, qword [rax - 0x18]
add rsi, r12
inc dword [rsi + 8]
mov rax, qword [r12]
mov rsi, qword [rax + 0x10]
call rbx
mov rcx, r12
mov r12b, 1
movsx edx, ax
not edx
shr edx, 0x1f
call rsi
mov rcx, r13
call fcn.0043d68c
jmp 0x43d99e
xor r12d, r12d
mov rcx, r14
call fcn.0043d562
jmp 0x43da79
call rax
test al, 6
jne 0x43d7bf
mov ecx, 0x10
call rbx
mov r8d, 1
mov rcx, r13
movsx edx, ax
not edx
shr edx, 0x1f
call fcn.0043d6a1
jmp 0x43da40
lea rdx, [rax - 0x27]
cmp rdx, 1
ja 0x43da08
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 5
jne 0x43d7bf
xor r8d, r8d
mov edx, 1
jmp 0x43d7b7
cmp rax, 0x1b
jne 0x43da1b
mov rdx, r12
mov rcx, r13
call fcn.0043d4b0
jmp 0x43da40
cmp rax, 0x73
jne 0x43d7bf
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x43da45
mov rdx, r12
mov rcx, r13
call fcn.0043d4b0
mov r12d, eax
jmp 0x43da79
xor r8d, r8d
mov rcx, qword [r12]
mov r9, r12
mov edx, 0x87
call qword [sym.imp.USER32.dll_SendMessageA]
test al, 4
je 0x43d7bf
mov byte [rbx], 1
jmp 0x43d7bf
mov rcx, r13
inc esi
call fcn.0043d68c
jmp 0x43d92b
mov eax, r12d
add rsp, 0x40
pop rbx
pop rsi
pop r12
pop r13
pop r14
ret